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

StackOverflow https://stackoverflow.com/questions/1388966

  •  21-09-2019
  •  | 
  •  

Вопрос

Как я могу проверить строку в 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;

Или просто преобразовать в логическое значение

(bool)preg_match('/[#\\\\]/', $String);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top