Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 在单个preg_replace函数中搜索不同的标签并进行替换_Php_Regex_Preg Replace_Bbcode_Phpbb3 - Fatal编程技术网

Php 在单个preg_replace函数中搜索不同的标签并进行替换

Php 在单个preg_replace函数中搜索不同的标签并进行替换,php,regex,preg-replace,bbcode,phpbb3,Php,Regex,Preg Replace,Bbcode,Phpbb3,我从一个数据库中检索到了这种记录,我想解码格式值并用适当的html标记替换它,以便它在显示时可以正常工作: [size=150:3a9xfsiy][color=#000080:3a9xfsiy]hello world[/color:3a9xfsiy][/size:3a9xfsiy] 此记录由phpBB创建,我正在使用它在phpBB无法控制的网站的其他部分显示 我尝试的是使用PREG_REPLACE,但问题是,有没有办法将不同格式的标记作为正则表达式中的一个来读取?例如: [size=150:3

我从一个数据库中检索到了这种记录,我想解码格式值并用适当的html标记替换它,以便它在显示时可以正常工作:

[size=150:3a9xfsiy][color=#000080:3a9xfsiy]hello world[/color:3a9xfsiy][/size:3a9xfsiy]
此记录由phpBB创建,我正在使用它在phpBB无法控制的网站的其他部分显示

我尝试的是使用PREG_REPLACE,但问题是,有没有办法将不同格式的标记作为正则表达式中的一个来读取?例如:

[size=150:3a9xfsiy] and [/size:3a9xfsiy] must be searched in a single preg_replace

弦(29)“我把我的心给了你。”

或者这是否适合你

您可以使用str_替换:

$str = str_replace(array('<tag>', '</tag>'), array('<newtag>', '</newtag>', $str);
$str=str\u替换(数组(“”,)、数组(“”,,$str);

Phpbb为此提供了一个函数。当您从db检索它时,请包含Phpbb函数并应用此函数

你也可以使用


阅读更多信息。

只需替换其中的标记,如果$ret的值为:$ret='I give my Word to you\Word'。您仍然可以对Word和\Word只使用一个preg_替换吗?这是phpBB内置的,对吗?如果我要在phpBB之外使用它,我如何使用它?phpBB是开源的。只需复制文件。您为什么不使用BBCodPHP附带的e代码?
$str = str_replace(array('<tag>', '</tag>'), array('<newtag>', '</newtag>', $str);