如何使用 preg_replace() 将 hilight_string() 应用于类似 BBCode 标签之间的内容?
我正在尝试运行 preg_replace()
函数来替换页面字符串/内容中两个自定义标记(即 [xcode]
)之间的内容。
我想要对这些自定义标记之间的内容执行的操作是通过 highlight_string()
函数运行它,并从输出中删除这些自定义标记。
知道怎么做吗?
I'm trying to run the preg_replace()
function to replace the content in between two custom tags (i.e. [xcode]
) within the string / content of the page.
What I want to do with the content between these custom tags is to run it through highlight_string()
function and to remove those custom tags from the output.
Any idea how to do it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
所以你需要一个 BBCode 解析器。下面的示例将
[xcode]
标记替换为您喜欢的任何标记。如果您愿意,请使用
preg_replace_callback()
将匹配的文本传递给函数:我将包含我很久以前制作的 BBCode 解析器的源代码。请随意使用它。
So you want sort of a BBCode parser. The example below replaces
[xcode]
tags with whatever markup you like.Use
preg_replace_callback()
if you want to pass the matched text to a function:I'll include the source code of a BBCode parser that I made a long time ago. Feel free to use it.
基本上,
这不处理嵌套标签,尽管
完整的示例
basically,
this doesn't handle nested tags though
complete example
上面的例子将输出:
The bear black Slowly Jumped over the Lazy Dog。
http://php.net/manual/en/function.preg-replace.php
或者
str_replace 应该可以帮助你
http://php.net/manual/en/function.str-replace.php
The above example will output:
The bear black slow jumped over the lazy dog.
http://php.net/manual/en/function.preg-replace.php
OR
str_replace should help you
http://php.net/manual/en/function.str-replace.php
感谢 user187291 的建议和 preg_replace_callback 规范 我最终得到了下面的结果是正确的! :
通过该函数解析$text变量的输出是:
谢谢大家的输入!
Thanks to user187291's suggestion and preg_replace_callback specification I've ended up with the following outcome which does the job spot on! :
The output of parsing the $text variable through this function is:
Thank you everyone for input!