说我有以下字符串,$ mytext:
[QUOTE=FirstUserRANDOMNUMBER]First user's post[/QUOTE]
Great post, FirstUser
[QUOTE=SecondUserRANDOMNUMBER]Second user's post[/QUOTE]
Awful post. I didn't like it.
给定用户名,如何在引用的用户下方找到该文本? (忽略RANDOMNUMBER)
我希望能够输入" SecondUser"进入一个函数并让它返回:"糟糕的帖子。我不喜欢它。"
基本上,我只想要引用用户的响应。
我以为我根据以下内容在$ mytext上做了一个substr:
strpos($username, $mytext) + strlen("[QUOTE=$username") + strlen("[/QUOTE]")
但我不知道如何在[QUOTE = $ username和[/ quote]
的下一个实例之间获取通配符文本的长度这必须支持$ mytext中出现多个引号,如上例所示。
谢谢!
答案 0 :(得分:1)
答案 1 :(得分:1)
搜索,但不捕获(在(...)
组内)您要排除的所有内容。在这种情况下,\[Quote.*
。然后搜索(并捕获)您想要保留的所有内容。它将保存在\1
参考:
^\[QUOTE.*\n+|(^.*$)
匹配 [QUOTE...]
行,但它捕获该行:唯一保留的行是
Great post, FirstUser
Awful post. I didn't like it.