dedlfix: Problem mit strpos und eckigen Klammern

Beitrag lesen

Hi!

Ich programmiere gerade für mein Forum eine Quote-Funktion. Dabei möchte ich überprüfen, ob die Schachtelung der [quote]-Tags auch richtig ist. Habe mir gedacht, ich mache das mit strpos, aber das klappt nicht.

strpos() prüft keine Schachtelungen sondern gibt die Position des ersten Vorkommens des Suchstrings zurück, oder false wenn nichts gefunden wurde, was bei == leicht mit 0 verwechselt werden kann, deshalb sollte man das Ergebnis mit === vergleichen.

$qpos=strpos($threadtext,"[quote]") liefert mir immer 0 als Ergebnis. Egal wie oft [quote] tatsächlich vorkommt. Habe auch bereits probiert, die eckigen Klammern mit Backslash zu maskieren, aber das hat auch keinen Erfolg gebracht.

Eckige Klammern haben keine Sonderbedeutung. Ein davor gestellter Backslash steht für sich selbst.

Eine Kontrollausgabe (mit var_dump()) der beteiligten Variablen hast du gemacht? Das error_reporting auf E_ALL zu stellen hilft auch, (Tipp)fehler zu entlarven.

Eventuell habe ich einen Logikfehler auf den ich gerade nicht komme, aber wieviel kann man in einer einzigen Zeile schon falsch machen ..? :)

Zuerst solltest du erzählen, wie genau du dir die Schachtlungsprüfung vorgestellt hast. Zwischen "Schachtlungsprüfung" und "strpos()" ist ein ganz schöner Sprung in deiner Story.

Lo!