[英]PHP: replace all occurrences of “[CODE]…[/CODE]” in a string
我有一个像这样的字符串:
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的情况下解决这个问题?
谢谢您的帮助!
假设[CODE]
块没有嵌套, preg_replace_callback()
是一个完美的候选者。
preg_replace_callback('/\[CODE\](.*?)\[/CODE\]/', 'highlight_string');
使用这个正则表达式:
(?s)\[CODE\].*?\[/CODE\]
content_of_CODE = reg_replace('/ [!\\ s +!] | [\\ s * / * CODE] /','',$ content_of_CODE);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.