Domanda

Come posso controllare una stringa in php per i caratteri specifici come '#' o '\'?

Non voglio davvero usare sostituire, basta restituire true o false.

Grazie

È stato utile?

Soluzione

utilizzare la funzione strstr http://us2.php.net/manual /en/function.strstr.php Restituisce parte della stringa haystack dalla prima occorrenza di ago al fine di haystack

Nota: Se si desidera solo per determinare se un ago particolare si verifica entro pagliaio, utilizzare i meno memoria strpos funzione intensiva più veloci e (), invece.

Altri suggerimenti

È possibile utilizzare la funzione strpos , se desideri solo sapere se una stringa contiene un altro (il contenuto delle vostre domande sembra indicare che, anche se il titolo dice "rimuovere") .

. Nota: non dimenticare di usare il !== o === dell'operatore, come la funzione può restituire 0 o false, e quelli hanno un significato diverso


Se si vuole "cancellare" i caratteri, str_replace o strtr potrebbe fare il trucco.

Si può fare qualcosa di simile:

if (strpos($string, '#') !== false || strpos($string, '\') !== false) {
    // One of those two characters is in the string.
}

Si noti in particolare sintassi !==, che differenzia tra false (cioè il carattere non viene trovato) e 0 (che significa che è stato trovato nella posizione 0).

Prova le espressioni regolari.

preg_match('/[#\\\\]/', $String);

Nota: Dovete fuggire backslash '\' tre volte

.

Se li si vuole veramente in formato booleano, è possibile utilizzare un operatore ternario ':?' come tale

preg_match('/[#\\\\]/', $String) ? true : false;

O semplicemente convertire in booleano

(bool)preg_match('/[#\\\\]/', $String);
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top