2010-04-11 220 views
0

有了这个功能:不能得到正则表达式来工作,因为我想

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>

一直试图让这个为工作现在一会儿。

会appricate一些专家的帮助:)

+0

也许是一个更好的标题下一次 – 2010-04-11 08:43:58

+0

也想不出更好的一个,建议一个更好的,我改变:) – Jorm 2010-04-11 08:47:23

+0

只是说明你正在尝试比“得到一个正则表达式的工作”更加详细地做。一个好的经验法则是,如果有人遇到同样的问题,Google会找到你的Q/A,那该怎么办? – 2010-04-11 08:50:58

回答

2

(在设置高亮您[b]xxx[/b]**xxx**加粗文本。)

在PHP中,你可以使用$1代表捕获子组,所以你的更换应该是

'<b>$1</b>' 
+0

好的,我必须重命名我的功能:)谢谢 – Jorm 2010-04-11 08:28:37

0

尝试使用这样的:

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