不能让正则表达式按我的意愿工作

时间:2010-04-11 08:18:02

标签: php regex

使用此功能:

function bbcode_parse($str) {
$str = htmlentities($str);

$find = array(  
    '/\\*\*(.[^*]*)\*\*/is',
);

$replace = array(
    '<b>' 
);

$str = preg_replace($find, $replace, $str);  

return $str;
}

文字“My name is **bob**

我输入了源代码Hi my name is <b>

现在试图让它工作一段时间。

会请专家帮助:)

2 个答案:

答案 0 :(得分:2)

(在bbcode中,您使用[b]xxx[/b]而不是**xxx**加粗文字。)

在PHP中,您可以使用$1来表示捕获的子组,因此您的替换应该是

'<b>$1</b>'

答案 1 :(得分:0)

尝试使用:

preg_replace("/.*\*{2}(.+?)\*{2}.*/", "<b>$1</b>", "My name is **bob**");