Pergunta

Como posso verificar uma string no PHP para caracteres específicos, como '#' ou ''?

Eu realmente não quero usar a substituição, basta retornar verdadeiro ou falso.

Obrigado

Foi útil?

Solução

Use a função strstr http://us2.php.net/manual/en/function.strstr.phpRetorna parte da corda Haystack da primeira ocorrência de agulha até o final do palheiro

NOTA: Se você deseja determinar apenas se uma agulha específica ocorre dentro do palheiro, use a função intensiva mais rápida e menos de memória strpos ().

Outras dicas

Você pode usar o strpos função, se você quiser saber se uma string contém outra (O conteúdo de suas perguntas parece indicar que, mesmo que seu título diga "Remover").

Nota: Não se esqueça de usar o !== ou === O operador, como a função pode retornar 0 ou falsa, e esses têm significado diferente.


Se você quiser "remover" caracteres, str_replace ou strtr Pode fazer o truque.

Você pode fazer algo assim:

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

Note em particular o !== sintaxe, que diferencia entre false (o que significa que o personagem não é encontrado) e 0 (o que significa que foi encontrado na posição 0).

Experimente expressões regulares.

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

Observação: Você tem que escapar de backslashes '' três vezes.

Se você realmente os deseja em formato booleano, você pode usar um operador ternário '?:' Como tal

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

Ou simplesmente converter em booleano

(bool)preg_match('/[#\\\\]/', $String);
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top