Pregunta

¿Cómo puedo comprobar una cadena en PHP para caracteres específicos, tales como '#' o '\'?

realmente no quiero usar sustituir, simplemente devolver verdadero o falso.

Gracias

¿Fue útil?

Solución

utilizar la función strstr http://us2.php.net/manual /en/function.strstr.php Devuelve parte de cadena pajar desde la primera aparición de la aguja hasta el final de pajar

Nota: Si sólo desea determinar si una aguja especial se produce dentro de un pajar, utilice los más rápidos y menos memoria strpos función intensiva () en su lugar.

Otros consejos

Se puede utilizar la función de strpos , si sólo quiere saber si una cadena contiene otra (el contenido de sus preguntas parece indicar que, incluso si el título dice "eliminar") .

Nota:. No se olvide de utilizar el operador !== o ===, ya que la función puede devolver 0 o falso, y los que tienen un significado diferente


Si desea caracteres "eliminar", str_replace o strtr puede hacer el truco.

Puede hacer algo como esto:

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

Nota en particular la sintaxis !==, que diferencia entre false (no se encuentra que significa que el carácter) y 0 (lo que significa que se encontró en la posición 0).

Trate de expresiones regulares.

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

Nota: Tienes que escapar las barras invertidas '\' tres veces

.

Si realmente los quiere en formato booleano, se puede utilizar un ternaria operador:? ' como tal

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

O, simplemente, convertir a booleano

(bool)preg_match('/[#\\\\]/', $String);
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top