За последние 24 часа нас посетили 22568 программистов и 1015 роботов. Сейчас ищут 720 программистов ...

Выделить найденные слова в стркое

Тема в разделе "Регулярные выражения", создана пользователем DronT, 1 июн 2021.

  1. DronT

    DronT Новичок

    С нами с:
    1 июн 2021
    Сообщения:
    1
    Симпатии:
    0
    Дана строка: $str = "er02-163/ert-/fr/g/02163fgdf/02-163"
    Необходимо найти все слова "02163" или "02-163" и обернуть их в тег <f>

    Итоговый результат: "er<f>02-163</f>/ert-/fr/g/<f>02163</f>fgdf/<f>02-163</f>"

    Алгоритм должен срабатывать при любом содержании строки и любом поисковом слове (слова в строке могут быть разделены пробелом).

    Пытаюсь реализовать через регулярки, но получается выделить слово без разделителя (02163)
     
  2. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    PHP:
    1. <?php
    2. $str = "er02-163/ert-/fr/g/02163fgdf/02-163";
    3.  
    4. $s = array('02163', '02-163');
    5. $r = array('<f>02163</f>', '<f>02-163</f>');
    6.  
    7. $new_str = str_replace($s, $r, $str);
    8. ?>
     
    don.bidon нравится это.
  3. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    858
    Симпатии:
    132
    ;) Как поставили задачу, такое решение и получили )))