如何在字符串周围添加HTML?

时间:2014-11-10 15:16:35

标签: php regex

我有这个字符串数组:

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 :(得分:0)

您可以使用正则表达式

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

并替换为<b>$0</b>

DEMO

答案 1 :(得分:0)

怎么样:

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

答案 2 :(得分:0)

使用正则表达式的替代方法:

如果字符串的开头始终相同,就像在您的示例中一样,您可以使用简单的字符串函数:

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

Here's a live example