我需要php5正则表达式函数的帮助。我需要函数,它接受参数文本,正则表达式,字符串之前,之后。
function Highlight($text, $regex, $before, $after)
示例可能是我需要的最佳解释。
$text="I have apple and banana."
$regex="(apple|banana)"
$before="<b>"
$after="</b>"
我需要返回
"I have <b>apple</b> and <b>banana<b>."
一个例子只是为了说明问题,它不会是一个html元素。
谢谢
答案 0 :(得分:3)
$text="I have apple and banana.";
$regex="(apple|banana)";
$before="<b>";
$after="</b>";
print preg_replace("@".$regex."@", $before."$1".$after, $text);
答案 1 :(得分:1)
function Highlight($text, $regex, $before, $after) {
$pattern = '/'. $regex .'/';
return preg_replace_callback($pattern,
function ($m) use ($before,$after) {
return $before.$m[0].$after;
}
, $text);
}