URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 8216
[ Назад ]

Исходное сообщение
"Почему не работает поиск через strpos()?"

Отправлено xintrea , 19-Май-20 14:22 
Давненько я не трогал PHP...

И вот сейчас наткнулся на такую вещь. Следующий простейший код не срабатывает:


<?php

$text='Thе best wоmеn fоr sеx in уour town: https://test.com/test';
$stopWord='for sеx';

if(strpos($text, $stopWord)!==false)
{
  echo 'Block!';
}

?>


То есть, в консоль строка "Block" не выводится.

Если же $stopWord сделать 'for' или 'sex', то поиск срабатывает.

Читаю документацию по strpos() - ничего про пробельные символы не сказано. Вроде как функция должна тупо находить подстроку. Но не находит. Почему?

[сообщение отредактировано модератором]


Содержание

Сообщения в этом обсуждении
"Почему не работает поиск через strpos()?"
Отправлено Аноним , 19-Май-20 22:39 
какой интересный спам
>То есть, в консоль строка "Block" не выводится.

если тебя действительно интересует ответ, потому что там не все символы латинские


> "Thе best wоmеn fоr sеx in уour town".gsub(/\w/, ?_)

=> "__е ____ _о_е_ _о_ _е_ __ у___ ____"



"Почему не работает поиск через strpos()?"
Отправлено xintrea , 20-Май-20 11:00 
> какой интересный спам
>>То есть, в консоль строка "Block" не выводится.
> если тебя действительно интересует ответ, потому что там не все символы латинские
>
 
> > "Thе best wоmеn fоr sеx in уour town".gsub(/\w/, ?_)
> => "__е ____ _о_е_ _о_ _е_ __ у___ ____"
>

Да, оказалось, что эти спамеры продвигают только ссылки, а не прокачивают ссылки с ключевыми словами. Поэтому они тупо портят окружающий текст.


"Почему не работает поиск через strpos()?"
Отправлено ДмитрийСССР , 23-Май-20 16:22 
>[оверквотинг удален]
> if(strpos($text, $stopWord)!==false)
> {
>   echo 'Block!';
> }
> ?>

> То есть, в консоль строка "Block" не выводится.
> Если же $stopWord сделать 'for' или 'sex', то поиск срабатывает.
> Читаю документацию по strpos() - ничего про пробельные символы не сказано. Вроде
> как функция должна тупо находить подстроку. Но не находит. Почему?
> [сообщение отредактировано модератором]

Видимо у вас какие-то скрытые символы, сделал такой-же пример всё отработало


$text="Thе best wоmеn for sеx in уour town: https://test.com/test";
$stopWord="for sеx";

if(strpos($text, $stopWord)!==false)
{
  echo 'Block!';
}

Проверил тут http://sandbox.onlinephpfunctions.com/