我有一个这样的字符串:
Here is my code sample, its not too great:
[CODE]
<?php
echo "Some testing...";
?>
[/CODE]
I hope you enjoy.
现在我想用highlight_string($content_of_CODE)
的返回值替换所有出现的[CODE] ... [/ CODE]。 [CODE] .. [/ CODE] -pair可能会在字符串中多次出现。
如何在不使用eval的情况下解决这个问题?
感谢您的帮助!
答案 0 :(得分:8)
假设[CODE]
块没有嵌套,preg_replace_callback()
是一个完美的候选者。
preg_replace_callback('/\[CODE\](.*?)\[/CODE\]/', 'highlight_string');
答案 1 :(得分:0)
使用此正则表达式:
(?s)\[CODE\].*?\[/CODE\]
答案 2 :(得分:0)
content_of_CODE = reg_replace('/ [!\ s +!] | [\ s * / * CODE] /','',$ content_of_CODE);