好吧我再次陷入困境,这次是正则表达式的问题...正在搜索谷歌,正在搜索,但是没有一篇文章让我开心......所以长话短说:
$ text被解析,正则表达式应该替换2 *之间的所有内容:
[BLA]。$ matchedtext。[泡壳
所以我试图找到正确的正则表达式,这就是我想出的:
$text= preg_replace('~(/\*([^\"]*?)\*/)~', "$1<b>$2</b>", $text);
每场比赛的2 *也应该消失:/ ...
显然它不起作用,否则我不会发布:D - &gt;有什么想法吗?
答案 0 :(得分:1)
这可能应该这样做:
preg_replace('/\*([^"*]*)\*/', '<b>\1</b>', $text);
对您之前的正则表达式的一些评论:
[^\"]*?
非贪婪*
不是必需的;当您查看负字符集时,只需在字符集中添加“*”即可。此外,双引号不需要转义。
[^"*]*
您只需要记忆组来处理您想要记住的事物;在您的情况下,您不想知道您匹配开头和结尾的星号。所以你可以只用一个内存组完成整个匹配。