Удаление определенных символов из строки в php

Как проверить строку в php для определенных символов, таких как «#» или «\»?

Я действительно не хочу использовать replace, просто верните true или false.

благодаря

используйте функцию strstr http://us2.php.net/manual/en/function.strstr.php Возвращает часть строки сена с первого вхождения иглы в конец стога сена

Примечание. Если вы хотите определить, существует ли конкретная игла в стоге сена, используйте более быструю и менее интенсивную память функцию strpos ().

Вы можете использовать функцию strpos , если хотите узнать только, содержит ли строка другую (содержание ваших вопросов, похоже, указывает на то, что даже если ваш заголовок говорит «удалить») .

Примечание. Не забудьте использовать оператор !== или === , поскольку функция может возвращать 0 или false, и они имеют разное значение.

Если вы хотите «удалить» символы, str_replace или strtr могли бы сделать трюк.

Вы можете сделать что-то вроде этого:

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

Обратите внимание, в частности, на синтаксис !== , который различает значение false (что означает, что символ не найден) и 0 (что означает, что оно было найдено в позиции 0 ).

Попробуйте регулярные выражения.

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

Примечание. Вы должны избегать обратной косой черты три раза.

Если вы действительно хотите их в логическом формате, вы можете использовать тернарный оператор '?:' Как таковой

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

Или просто конвертируйте в boolean

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