У меня в php массив запрещенных слов.Игнорировать whitespace str_replace PHP
С помощью этого кода я заменить запрещенные слова с * в строке:
foreach ($wordlist as $word)
if (stripos($str, $word) !== false)
$str = str_ireplace($word, str_repeat('-*', strlen($word)), $str);
return $str;
Проблема заключается в том, что некоторые пользователи добавляют пробелы в словах, так что код не находит их.
Пример:
запрещенное слово: apple
Если я пишу яблоко заменяется *****
Если я пишу п.-п. ЭСП не замещается
Есть ли способ использовать str_ireplace
игнорируя пробелы?
Есть несколько способов, чтобы избавиться от пространств от пользовательского ввода, конечно. Вы пытались найти что-то в первую очередь? –
Возможный дубликат [Чтобы разбить пробелы внутри переменной в PHP] (http://stackoverflow.com/questions/1279774/to-strip-whitespaces-inside-a-variable-in-php) –
Это чрезвычайно сложно сделать , если я хочу рассказать миру о моей любви к app1es, яблокам, @pples, лямкам (вы получите картину), вы не можете ожидать, чтобы остановить меня только с помощью кода. Модификация сообщества, вероятно, лучшее решение – Steve