Removendo caracteres específicos de uma string no PHP
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
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);