Как добавить HTML вокруг строки?

0

У меня есть этот массив строк:

array("Foo", "Foo RH 80", "Foo Foo RH 50 Foo", "Foo (RH 80 + 10) foo");

Я ищу способ добавить тег следующим образом:

array("Foo", "Foo <b>RH 80</b>", "Foo Foo <b>RH 50</b> Foo", "Foo <b>(RH 80 + 10)</b> foo");

Я думаю, что могу сделать это с некоторым REGEX, но слишком сложно найти шаблон.

У вас есть идея?

Теги:

3 ответа

0
Лучший ответ

Вы можете использовать регулярное выражение

/RH\s\d{2}|\(RH\s\d{2} \+ \d{2}\)/g

и замените на <b>$0</b>

DEMO

  • 0
    Хорошо, похоже, все в порядке. Но у меня есть другой случай: «Foo (RH 80 et 20)». Как сделать с этим "эт"?
  • 0
    С этим все в порядке: RH \ s \ d {2} | (RH \ s \ d {2} \ + \ d {2}) | (RH \ s \ d {2} et \ d {2})! Действительно спасибо за помощь!
Показать ещё 1 комментарий
0

Альтернатива использованию Regex:

Если начало вашей строки всегда одно и то же, как в вашем примере, вы можете использовать простые строковые функции:

function boldify($pattern, $array){ 
    $new_array = array(); 
    foreach($array as $a) $new_array[] = $pattern."<b>".substr($a,strlen($pattern))."</b>";     
    return $new_array; 
} 

Вот живой пример

  • 0
    Хорошо, спасибо за этот трюк!
0

Как насчет:

$str = preg_replace('/\(?\bRH \d+(?: \+ \d+)?\)?/', '<b>$0</b>', $str);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню