Rimozione di caratteri specifici da una stringa in php
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
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);