Ответы пользователя по тегу Регулярные выражения
  • Почему 1 из этих регулярных выражений приводит к ошибке но только в отдельно взятом случае?

    lyberteam
    @lyberteam
    In PHP we trust
    Нет. Необходимо использовать mb_ereg_match.
    В новых версиях PHP появился целый ряд функций под общим знаменем MultiByte String.
    Данные функции являются аналогами функций по работе с переменными типа string, в кодировке с более чем одним байтом. Таковыми являются как кодировка китайского языка, так и русского и других. Это связано с тем, что одного байта не хватает для хранения огромного количества символов разных языков.
    Старайтесь использовать исключительно mb_string функции, если вы не уверены, что переменные будут содержать данные в 1-байтовой кодировке.
    Ссылка на официальную документацию
    Ответ написан
    Комментировать
  • Как написать регулярное выражение?

    lyberteam
    @lyberteam
    In PHP we trust
    Регулярное выражение:
    /(?<=<br>).*$/g
    Один из вариантов. Использовать стоит с флагом g.
    Конструкция (?<=<br>).*$ состоит из нескольких синтаксических конструкций:
    • "(?<=<br>)" - Все после данного сочетания знаков , то есть, все после тега
      .
    • " .* "- точка со звездочкой - любое количество знаков (жадный квантификатор)
    • "$"- конец строки


    В регулярном выражении стоит флаг g, что означает что мы ищем первое совпадение. Данный флаг можно опустить.
    А вот флаг m - использовать нельзя, так как он даст пустое значение для первой строки, ведь в ней так же есть тег
    и конец строки - $, но между ними нет символов.
    Ответ написан
    Комментировать