ФорумПрограммированиеPHP для идиотов → что с функцией str_ireplace ?

что с функцией str_ireplace ?

  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 30 мая 2009 г. 17:54

    Привет, вот есть такой код:

    $res='Токио, токио. .Токио. ТОКИО.. ,токио.';

    echo "<p>$res</p>";

    $res=str_ireplace('токио','<span class="search_highlight">токио</span>',$res);

    echo "<p>$res</p>";

    Эта функция должна мне подсветить все слова токио, независимо от регистра так как она case insensetive. А оно мне подсвечивает только то токио, которое все маленькими буквами. Тоесть получается что работает как case sensetive. Что это за бред?
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 30 мая 2009 г. 17:58, спустя 4 минуты 22 секунды

    smackthat, скорее всего проблемы в локали
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 30 мая 2009 г. 18:05, спустя 6 минут 17 секунд

    что это значит?
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 30 мая 2009 г. 20:46, спустя 2 часа 41 минуту 3 секунды

    http://ru.php.net/manual/ru/function.str-ireplace.php
    прочитай первый каммент, там как раз про локаль
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 30 мая 2009 г. 22:55, спустя 2 часа 9 минут 31 секунду

    изменял локаль, у меня кодировка UTF8, не пашет. Потом нашел, что типа нужно использовать аналоги типа mb_str_replace, но такого аналога нет для мультибайтовых строк. Попробывал mb_eregi_replace, тоже не работает. Пробывал самописные функции, которые в комментариях к мануалу, тоже не пашет. Херня какая-то!
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 30 мая 2009 г. 23:02, спустя 6 минут 46 секунд

    блин, сделай на preg_replace("#..#u");
    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 30 мая 2009 г. 23:14, спустя 12 минут 5 секунд

    smackthat, дай свой код
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 30 мая 2009 г. 23:31, спустя 16 минут 22 секунды

    adw0rd,
    попытка с mb_eregi_replace:

    $res='Токио, токио. .Токио. ТОКИО.. ,токио.';

    echo "<p>$res</p>";
    $res=mb_eregi_replace('токио','<span class="search_highlight">токио</span>',$res);
    echo "<p>$res</p>";

    с setlocate:

    setlocale (LC_ALL, 'ru_RU');

    $res='Токио, токио. .Токио. ТОКИО.. ,токио.';

    echo "<p>$res</p>";

    $res=str_ireplace('токио','<span class="search_highlight">токио</span>',$res);

    echo "<p>$res</p>";

    также с setlocale (LC_ALL, 'ru_RU.UTF8'); и (LC_ALL, 'ru_RU.UTF-8'); не работает

    phpdude,
    а что это значит "#..#u" ?
    я в регулярных выражениях пока что 0
  • phpdude

    Сообщения: 26646 Репутация: N Группа: в ухо

    Spritz 30 мая 2009 г. 23:36, спустя 5 минут 5 секунд


    adw0rd,
    попытка с mb_eregi_replace:

    $res='Токио, токио. .Токио. ТОКИО.. ,токио.';

    echo "<p>$res</p>";
    $res=mb_eregi_replace('токио','<span class="search_highlight">токио</span>',$res);
    echo "<p>$res</p>";

    с setlocate:

    setlocale (LC_ALL, 'ru_RU');

    $res='Токио, токио. .Токио. ТОКИО.. ,токио.';

    echo "<p>$res</p>";

    $res=str_ireplace('токио','<span class="search_highlight">токио</span>',$res);

    echo "<p>$res</p>";

    также с setlocale (LC_ALL, 'ru_RU.UTF8'); и (LC_ALL, 'ru_RU.UTF-8'); не работает

    phpdude,
    а что это значит "#..#u" ?
    я в регулярных выражениях пока что 0

    вот и повод почитать документацию
    Сапожник без сапог
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 30 мая 2009 г. 23:37, спустя 1 минуту 21 секунду

    <?php

    setlocale (LC_ALL, 'ru_RU');

       $res='Токио, токио. .Токио. ТОКИО.. ,токио.';
       
       echo "<p>$res</p>";
       
       $res=str_ireplace('токио','<span class="search_highlight">токио</span>',$res);

       echo "<p>$res</p>";

    ?>


    Токио, токио. .Токио. ТОКИО.. ,токио.

    токио, токио. .токио. токио.. ,токио.
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 30 мая 2009 г. 23:42, спустя 4 минуты 59 секунд

    тоесть у тебя работоет. Но у меня нет, выдает это:

    Токио, токио. .Токио. ТОКИО.. ,токио.
    Токио, токио. .Токио. ТОКИО.. ,токио.

    у меня подсвечивает только то что я зажирнил. А у тебя ось какая?

  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 31 мая 2009 г. 0:04, спустя 21 минуту 46 секунд

    smackthat, windows xp home edition sp3
    php 5.2.9
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 31 мая 2009 г. 0:31, спустя 26 минут 54 секунды

    блин, шошь такое, у меня тоже самое почти winxp home sp2, php5.2.8
    может в php.ini что-то настраивается?
  • adw0rd

    Сообщения: 22959 Репутация: N Группа: в ухо

    Spritz 31 мая 2009 г. 0:33, спустя 2 минуты 7 секунд

    smackthat, тебе дать мой php.ini?
    https://smappi.org/ - платформа по созданию API на все случаи жизни
  • smackthat

    Сообщения: 464 Репутация: N Группа: Адекваты

    Spritz 31 мая 2009 г. 0:48, спустя 15 минут 28 секунд

    давай, гляну ка

Пожалуйста, авторизуйтесь, чтобы написать комментарий!