我正在使用preg_replace_callback,这是我想要做的:
$result = '[code]some code here[/code]';
$result = preg_replace_callback('/\[code\](.*)\[\/code\]/is', function($matches){
return '<div>'.trim($matches[1]).'</div>';
}, $result);
想法是将 [code] 的每个匹配项替换为 ,将[<div>
/ code] 替换为</div>
,并修剪它们之间的代码。
问题出在这个字符串上,例如:
$result = '[code]some code[/code]some text[code]some code[/code]';
我希望结果有2 个分隔的 div:
$result = '<div>some code</div>some text<div>some code</div>';
我得到的结果是:
$result = '<div>some code[code]some text[/code]some code</div>';
现在我知道原因了,我理解了正则表达式,但我想不出解决方案,如果有人知道如何使它工作,我将非常感激,谢谢大家,祝你有美好的一天。