За последние 24 часа нас посетили 22811 программистов и 1258 роботов. Сейчас ищут 702 программиста ...

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

Тема в разделе "PHP для новичков", создана пользователем xintrea, 19 май 2020.

  1. xintrea

    xintrea Активный пользователь

    С нами с:
    25 фев 2019
    Сообщения:
    68
    Симпатии:
    0
    Давненько я не трогал PHP...

    И вот сейчас наткнулся на такую вещь. Следующий простейший код не срабатывает:
    Код (Text):
    1. <?php
    2.  
    3. $text='Thе best wоmеn fоr sеx in уour town: https://jtbtigers.com/272a1';
    4. $stopWord='for sеx';
    5.  
    6. if(strpos($text, $stopWord)!==false)
    7. {
    8.   echo 'Block!';
    9. }
    10.  
    11. ?>
    То есть, в консоль строка "Block" не выводится.

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

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

    Artur_hopf Активный пользователь

    С нами с:
    7 май 2018
    Сообщения:
    2.266
    Симпатии:
    405
    @xintrea Подсказка:
    PHP:
    1. $text='Thе best wоmеn fоr sеx in уour town: https://jtbtigers.com/272a1';
    2.  
    3. preg_match_all( '/[а-яё]/iu', $text, $matches );
    4.  
    5. print_r( $matches );
     
  3. mkramer

    mkramer Суперстар
    Команда форума Модератор

    С нами с:
    20 июн 2012
    Сообщения:
    8.555
    Симпатии:
    1.754
    У вас где-то русская буква закралась, которая выглядит одинаково.
     
  4. xintrea

    xintrea Активный пользователь

    С нами с:
    25 фев 2019
    Сообщения:
    68
    Симпатии:
    0
    Всех благодарю, разобрался.