За последние 24 часа нас посетили 10392 программиста и 1253 робота. Сейчас ищут 434 программиста ...

preg_replace толи дело в регулярке толи еще в чем. хелп

Тема в разделе "Регулярные выражения", создана пользователем acbir, 21 фев 2015.

  1. acbir

    acbir Новичок

    С нами с:
    4 фев 2015
    Сообщения:
    30
    Симпатии:
    0
    Код (Text):
    1. $text="Подсмотрел у жильцов другого ТС.
    2.  
    3. У них администрация ТС создала чат в вайбере и добавила туда номера жильцов. Получился отличный канал связи для жильцов и администрации. У них в чате около 100 человек - работает нормально.
    4.  
    5. Может и у нас такое сделать? ";
    6.  $text=preg_replace('/\&#60;citurl=([^\&#62;]+?)\&#62;(.+?)\&#60;\/citurl\&#62;/uis', "<a href=\"$1\" rel=\"nofollow\">$2</a>",$text);
    у меня пусто выдает

    проверил тоже на сайте
    https://ru.functions-online.com/preg_replace.html
    все работает норм (выдает без изменений)
    регулярка замену производит если есть нужные структуры
    вроде переменные на латинке работают норм
    а кириллические просто косит
    preg_replace вроде использую в других местах, вроде норм, помогите понять в чем косяк
     
  2. denis01

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

    С нами с:
    9 дек 2014
    Сообщения:
    12.236
    Симпатии:
    1.716
    Адрес:
    Молдова, г.Кишинёв
  3. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
    Что - то я понять не могу, что вы пытаетесь сделать?
    Приведите понятный пример, что хотите заменять или убирать регуляркой?
     
  4. acbir

    acbir Новичок

    С нами с:
    4 фев 2015
    Сообщения:
    30
    Симпатии:
    0
    Код (Text):
    1. $text="&#60;BLOCKQUOTE&#62;2015-02-21 18:01:05 &#124; 1 - &#60;citurl=1337rk10087.html&#62;test&#60;/citurl&#62;&#60;hr&#62;test&#60;/BLOCKQUOTE&#62;<br><br>ewegmegmnegererg&#60;BLOCKQUOTE&#62;2015-02-21 18:01:05 &#124; 1 - &#60;citurl=1337rk10087.html&#62;test&#60;/citurl&#62;&#60;hr&#62;test&#60;/BLOCKQUOTE&#62;<br><br>ewegmegmnegererg&#60;BLOCKQUOTE&#62;2015-02-21 18:01:05 &#124; 1 - &#60;citurl=1337rk10087.html&#62;test&#60;/citurl&#62;&#60;hr&#62;test&#60;/BLOCKQUOTE&#62;<br><br>ewegmegmnegererg";
    это пример текста который должно преобразовать,
    но его то как раз токи преобразовывает (вроде полностью корректно) , а вот если нет когда в переменной как в коде выше, то просто пустая переменная после preg_replace

    Добавлено спустя 7 минут 27 секунд:
    вот с примером выше работало
    а вот с таким уже фиг
    он больше на реальностьпохож
    Код (Text):
    1. $text="&#60;BLOCKQUOTE&#62;2015-02-21 18:01:05 &#124; 1 - &#60;citurl=1337rk10087.html&#62;привет вася ывпбьтцу цуе цуедлуц&#60;/citurl&#62;&#60;hr&#62;уццуцу цу пцу пцупцу пцупц&#60;/BLOCKQUOTE&#62;<br><br>ewegmegmnegererg&#60;BLOCKQUOTE&#62;2015-02-21 18:01:05 &#124; 1 - &#60;citurl=1337rk10087.html&#62;test&#60;/citurl&#62;&#60;hr&#62;test&#60;/BLOCKQUOTE&#62;<br><br>ewegmegmnegererg&#60;BLOCKQUOTE&#62;2015-02-21 18:01:05 &#124; 1 - &#60;citurl=1337rk10087.html&#62;test&#60;/citurl&#62;&#60;hr&#62;test&#60;/BLOCKQUOTE&#62;<br><br>ewegmegmnegererg";
    2. $text1="Подсмотрел у жильцов другого ТС.
    3.  
    4. У них администрация ТС создала чат в вайбере и добавила туда номера жильцов. Получился отличный канал связи для жильцов и администрации. У них в чате около 100 человек - работает нормально.
    5.  
    6. Может и у нас такое сделать? ";
    7. $text=$text1." ".$text." ".$text1;
    Добавлено спустя 9 минут 52 секунды:
    проверил первый совет, он ничего не делает, даже того что делал просто прегреплейс
    Код (Text):
    1. $text=mb_ereg_replace('/\&#60;citurl=([^\&#62;]+?)\&#62;(.+?)\&#60;\/citurl\&#62;/uis', "<a href=\"$1\" rel=\"nofollow\">$2</a>",$text);
    Добавлено спустя 3 минуты 9 секунд:
    походу все таки засада именно с кириллическим текстом
    вот это работает на ура
    нет ни одного кириллического символа
    Код (Text):
    1. $text="&#60;BLOCKQUOTE&#62;2015-02-21 18:01:05 &#124; 1 - &#60;citurl=1337rk10087.html&#62;test&#60;/citurl&#62;&#60;hr&#62;test&#60;/BLOCKQUOTE&#62;<br><br>ewegmegmnegererg&#60;BLOCKQUOTE&#62;2015-02-21 18:01:05 &#124; 1 - &#60;citurl=1337rk10087.html&#62;test&#60;/citurl&#62;&#60;hr&#62;test&#60;/BLOCKQUOTE&#62;<br><br>ewegmegmnegererg&#60;BLOCKQUOTE&#62;2015-02-21 18:01:05 &#124; 1 - &#60;citurl=1337rk10087.html&#62;test&#60;/citurl&#62;&#60;hr&#62;test&#60;/BLOCKQUOTE&#62;<br><br>ewegmegmnegererg";
    2. $text1="sdfwef wef wef wef wef we fwe g  weg w eg weg";
    3. $text=$text1." ".$text." ".$text1;
    4. $text=preg_replace('/\&#60;citurl=([^\&#62;]+?)\&#62;(.+?)\&#60;\/citurl\&#62;/uis', "<a href=\"$1\" rel=\"nofollow\">$2</a>",$text,-1);
     
  5. rognorog

    rognorog Новичок

    С нами с:
    7 июл 2014
    Сообщения:
    330
    Симпатии:
    0
  6. acbir

    acbir Новичок

    С нами с:
    4 фев 2015
    Сообщения:
    30
    Симпатии:
    0
    мм счас погляжу
    в прегреплейс убрал модификатор u и вроде все корректно заработало

    Добавлено спустя 4 минуты 15 секунд:
    не енто не то, мне их не надо преобразовывать все