Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Suche Text im String

Suche in einer eMail den Text zwischen zwei Markierungen - sieht so aus:
[name]Rainer Zufall[/name]


Hätte mit strpos zuerst nach "[name]" und dann nach "[/name]" gesucht, aber das erscheint mir sehr umständlich.

Wie kann man das am geschicktesten angehen?

Hier gehts zum Orginal Eintrag "Suche Text im String" im Forum

Antworten

Wenn da was ersetzt werden soll, dann:
http://www.christian-seiler.de/projekte/php/bbcode/index.html

Ansonsten reguläre Ausdrücke:
http://de.php.net/manual/de/ref.pcre.php


2.

erstmal danke - sieht aber kompliziert aus, wenn man die anleitung ansieht:
http://www.christian-seiler.de/projekte/php/bbcode/doc/de/kapitel1.php


3.

Ich würde es so machen:
Code:                   In Zwischenablage kopieren (nur IE)
1">

$match[1] wäre dann der Wert zwischen den [name][/name].


4.

[quote]poncho postete
Ich würde es so machen:
Code:                   In Zwischenablage kopieren (nur IE)
2">

$match[1] wäre dann der Wert zwischen den [name][/name].[/quote] super danke


5.

Zitat:
super danke
Naja
Match damit mal:
Code:                   In Zwischenablage kopieren (nur IE)
3">




6.

Dann eben so:
Code:                   In Zwischenablage kopieren (nur IE)
4">




7.

yep so würde das passen ;)
Bloss noch per While alle Namen finden...


8.

Zitat:
Foggy postete
Bloss noch per While alle Namen finden...
Eher per while verarbeiten. Denn gefunden werden alle mit preg_match_all() :)


9.

auch wieder wahr ;)


10.

Hmmm, ich habe mehrere Strings die nacheinander durchsucht werden mit einer While Schleife, aber da kommt nicht ganz das richtige raus

Wo liegt denn hier mein Denkfehler:

Code:                   In Zwischenablage kopieren (nur IE)
5">




11.

ok so funzt es:


Code:                   In Zwischenablage kopieren (nur IE)
6">




12.

Da:
Code:                   In Zwischenablage kopieren (nur IE)
7">

Es muss $name[1] sein. Index 0 ist der komplette gefundene String. Ab 1 aufwärts werden die einzelnen gesuchten Werte indiziert.
Auch nochmal nachzulesen in der Doku:
http://de.php.net/manual/de/function.preg-match.php


13.

Code:                   In Zwischenablage kopieren (nur IE)
8">




14.

Hmm, ist aber nciht so optimal.
Wenn es ersetzt werden soll, würde ich eher preg_replace() nehmen. Dann muss man das auch nur einmal machen :)


Hier gehts zum Orginal Eintrag "Suche Text im String" im Forum
 
phpforum.de | Impressum | Handy Bundles