我有一个像下面的字符串,我想解析报价标签标签<blockquote>"Content</blockquote>
,想用空字符串替换的颜色标记。
输入:
[quote="De real one ROOFVISSER":g3o3w038][color=green:g3o3w038]Thnxxx voor de oppeppende taal Egon, maar het zal niet veel helpen volgende week repetitieweek en samen wonen is net zo erg als een zeurende moeder waarvan je alleen maar mag gaan leren totdat je er koppijn van krijgt.......
[/color:g3o3w038][/quote:g3o3w038]
输出:
<blockquote>Thnxxx voor de oppeppende taal Egon, maar het zal niet veel helpen volgende week repetitieweek en samen wonen is net zo erg als een zeurende moeder waarvan je alleen maar mag gaan leren totdat je er koppijn van krijgt.......</blockquote>
我已经尝试下面的东西和StackOverflow的答案为好,
Re-enabling Quotes in phpBB Color Code
preg_match_all('/\[(b|i|size|color|center|quote|url|img)=?(.*?)\](.+?)\[\/\1\]/', $input_lines, $output_array);
但它返回空白输出阵列。
请给我建议正确preg_replace
模式来过滤掉的内容。
这可能是最容易使用两个regexs,一个删除[color...]
标签和一个以取代[quote...]
的<blockquote>
标签来完成:
$string = '[quote="De real one ROOFVISSER":g3o3w038][color=green:g3o3w038]Thnxxx voor de oppeppende taal Egon, maar het zal niet veel helpen volgende week repetitieweek en samen wonen is net zo erg als een zeurende moeder waarvan je alleen maar mag gaan leren totdat je er koppijn van krijgt.......
[/color:g3o3w038][/quote:g3o3w038]';
echo preg_replace(array('#\[/?color[^]]*]#', '#\[(/?)quote[^]]*]#'), array('', '<$1blockquote>'), $string);
输出:
<blockquote>Thnxxx voor de oppeppende taal Egon, maar het zal niet veel helpen volgende week repetitieweek en samen wonen is net zo erg als een zeurende moeder waarvan je alleen maar mag gaan leren totdat je er koppijn van krijgt....... </blockquote>