我期待刪除PHP中的BBCode作出引號,像這樣的例子:如何從文本中刪除特定用戶的所有bbcode引用塊?
[quote=testuser]
[quote=anotheruser]a sdasdsa dfv rdfgrgre gzdf vrdg[/quote]
sdfsd fdsf dsf sdf[/quote]
the rest of the post text
我期待在做一個阻塞系統,所以用戶不必看那些他們不」內容不想要。所以說「testuser」被封鎖了,他們不希望整個引用部分,包括嵌套在裏面的第二個引用,因爲這是主引用的一部分。
所以職位將只剩下:
後文
我想知道的最佳方式的其餘部分做這個。我希望正則表達式,但它更復雜,我想,我有這樣的嘗試:
/\[quote\=testuser\](.*)\[\/quote\]/is
然而,然後捕獲所有最終報價標記。
是否有另一種方法是快速的,或者是我的正則表達式的一個很好的解決方法?
總結:刪除被阻止用戶的初始報價以及該報價中的所有內容,但除此之外沒有其他內容。
既然有能力巢報價,你是不是要能夠讓你獨自一人要與正則表達式的確切功能。沒有辦法跟蹤你已經通過了多少[quote = ...]。 – digitaLink
試試這個'(\ [quote =)(。*?)]((\ s | \ S)*?(\ [\/quote \]))*'因爲只有第一個引號和最後一個引號是幾乎所有的事情。如果您使用替代,組2('$ 2')等於第一個引號用戶名。 https://regex101.com/r/0pkmgl/2 – GrumpyCrouton
你能寫出你想要隱藏的東西嗎?或寫出你想看到的出來 –