繁体   English   中英

PHP:在字符串中替换所有出现的“[CODE] ... [/ CODE]”

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM