0

使用 PHP,我该如何转换:

[QUOTE=Username;1234]This is the text being quoted[/QUOTE]

进入:

<div class="quote"><a href="./linktopost?id=1234>Posted by: Username</a><p>This is the text being quoted.</p></div>

注意Username1234 id 和This is the text 被引用的文本映射到的位置。

我知道如何开始和结束,只需替换(例如str_replace)以下任何实例:

[QUOTE= >>> <div class="quote">< href="./linktopost.php?id=

[/QUOTE] >>> </p><div>

但我不知道如何提取UsernamePost ID和被引用的Text,以便将它们捆绑在一起。

如果有帮助,从我上面可以看出,可以在分隔符[QUOTE=and之间提取用户名;,可以在 and 之间提取帖子 ID ,并且可以在;and]之间提取文本][/QUOTE]但我不知道如何提取它们。

另外,如果报价中有报价,会发生什么?该解决方案也应该适用于这些情况。

有任何想法吗?

4

1 回答 1

2

这可能会有所帮助;)

$str = "[QUOTE=Username;1234]This is the text being quoted[/QUOTE]";

if(preg_match('/\[QUOTE=([^;]+);([0-9]+)\]([^\[]+)\[\/QUOTE\]/i', $str, $matches)){
    echo "<br>USERNAME : ".$matches[1];
    echo "<br>POST ID : ".$matches[2];
    echo "<br>MESSAGE : ".$matches[3];
}
于 2012-09-17T13:55:43.537 回答