Ich habe einen BBCode Zitat-Tag, der wie folgt formatiert ist:Parse Zahl in BBCode
[quote=Username;123456]
Das Trennzeichen ist immer da. Wie kann ich die Ziffern nur mit einem regulären Ausdruck (PHP) abgleichen?
Ich habe einen BBCode Zitat-Tag, der wie folgt formatiert ist:Parse Zahl in BBCode
[quote=Username;123456]
Das Trennzeichen ist immer da. Wie kann ich die Ziffern nur mit einem regulären Ausdruck (PHP) abgleichen?
Eine Möglichkeit (unter anderem):
\[[^\d\[\]]+(\d+)\]
Siehe a demo on regex101.com.
\[ # match an open bracket
[^\d\[\]]+ # match anything not brackets or digits
(\d+) # capture digits to group $1
\] # match a closing bracket
Ihre Stellen in Gruppe $1
sein wird.
Or [ 'explode (";", trim ("[quote = Benutzername; 123456]", "[]")) [1];'] (http://ideone.com/AM2SAY) –
@ WiktorStribiżew: Von Kurs. Ich würde auch einen anderen Weg gehen, aber OP fragte nach Regex. – Jan
Zunächst einmal bitte moderne Lösungen für BBCode verwenden, empfehle ich meine eigene Bibliothek https://github.com/thunderer/Shortcode. Sie erhalten den gesamten BBCode-Wert, den Sie dann beliebig explodieren lassen können. Gerne, um irgendwelche Fragen zu beantworten. –