Cyberkef
Legacy Member
Voor het Quote Notification systeem op dit forum werk ik adhv een regex om te zien of een quote gemaakt werd van een post, en om de nickname en de quote eruit te halen.
Omdat nicknames met het symbool "]" in zorgen voor problemen, heeft vBulletin daar zelf een oplossing voor gevonden, nl door er enkele quotes rond te zetten, en dan heb ik hiervoor een tweede regex gemaakt:
Dit werkt nu, maar ik zou toch liever met één regex werken die de twee zaken in één keer kan catchen. De basic van regex heb ik wel, maar na verschillende hopeloze pogingen ga ik het toch over een andere boeg gooien en hier es vragen of iemand een mogelijke oplossing weet
Ik vermoed dat het zal moeten werken adhv [highlight]Alternation[/highlight] (met |) maar als ik dat probeer met haakjes rond, dan is mijn matching array helemaal om zeep.
Dus hetgeen ik zoek is één regex waarmee volgende twee zaken kunnen gevonden worden:
[noparse]
PHP:
if ( preg_match_all("/\[quote=(.*?)\](.*?)\[\/quote\]/is", $post['message'], $matches) > 0 )
Omdat nicknames met het symbool "]" in zorgen voor problemen, heeft vBulletin daar zelf een oplossing voor gevonden, nl door er enkele quotes rond te zetten, en dan heb ik hiervoor een tweede regex gemaakt:
PHP:
if ( preg_match_all("/\[quote='([^']*?)'\](.*?)\[\/quote\]/is", $post['message'], $matches) > 0 )
Dit werkt nu, maar ik zou toch liever met één regex werken die de twee zaken in één keer kan catchen. De basic van regex heb ik wel, maar na verschillende hopeloze pogingen ga ik het toch over een andere boeg gooien en hier es vragen of iemand een mogelijke oplossing weet

Ik vermoed dat het zal moeten werken adhv [highlight]Alternation[/highlight] (met |) maar als ik dat probeer met haakjes rond, dan is mijn matching array helemaal om zeep.
Dus hetgeen ik zoek is één regex waarmee volgende twee zaken kunnen gevonden worden:
[noparse]
Nickname zei:Quoted Text
[/noparse]Nick[name] zei:Quoted Text
