| Themenmixer |
Geschrieben am: Mi 30.04.2008, 20:19
|
||||
![]() AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 98 Mitglied seit: 5.01.2006 |
Hallo! Ich habe mal ein kleines Programmierproblem. Aus einer MySQL-DB erhalte ich über eine Abfrage mehrere Sätze mit Mediumtext-Feldern. Diese Mediumtext-Felder möchte ich nun nach Tags durchsuchen: z.B. die DL-Liste. Ich dachte mir, dass preg_match da ganz toll ist und habe auch bereits die RegExp erstellt:
Das sollte doch eigentlich funktionieren, denn
klappt ausgezeichnet und gibt mit $my_list[0] den kompletten DL-Tag samt Inhalt raus - genau das was ich brauche!
Aber es klappt nicht auf den obigen String. preg_match läuft ins Leere wenn es ein mehrzeiliges Mediumtext-Feld durchsuchen soll. Ich verstehe es nicht. Was mache ich falsch? UPDATE: Es sieht so aus, als würde preg_match daran scheitern, dass das Ende von pattern, der RegExp, eine oder mehrere Zeilen vom Anfang getrennt ist ... Danke schonmal im Voraus und viele Grüße vom Bodensee Jörg -------------------- Weihnachtssprüche - Der Name ist Programm!
Lebkuchen-Rezepte.de - Lebkuchenrezepte Der Stundenzeiger - Das Weblog rund um die Uhr |
||||
![]() |
| Martin J |
#2 Geschrieben am: Mi 30.04.2008, 20:58 (+00:38)
|
||
![]() AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 61 Mitglied seit: 25.05.2007 |
war jetzt selbst erstaunt, dass ich es auf Anhieb nicht hinbekommen habe, und habe selbst nochmal nachschauen müssen - es fehlte das "s"Flag
vg, martin |
||
![]() |
| Themenmixer |
#3 Geschrieben am: Mi 30.04.2008, 21:48 (+00:50)
|
||||||||
![]() AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 98 Mitglied seit: 5.01.2006 |
Leider nicht. Ich hole mir folgendes Zeuch aus einer MySQL-Tabelle:
Sourcetable hat die Kollation "latin1_swedish_ci" (vielleicht ist das ja der Knackpunkt); post_content ist vom Type "Mediumtext". Ich fetche das Ergebnisarray wobei
wird und will dann mit
die List-Elemente rausziehen und erstmal einfach ausgeben. Selbst mit dem s-Flag gehts aber nicht. Ich vermute mal, dass vielleicht die Kollation der Table "Schuld" ist? Aber da kenne ich mich nicht aus. Ich habe auch schon versucht mittels
die Zeilenumbrüche in $my_mediumtextfeld zu killen, aber auch das hat nichts gefruchtet. -------------------- Weihnachtssprüche - Der Name ist Programm!
Lebkuchen-Rezepte.de - Lebkuchenrezepte Der Stundenzeiger - Das Weblog rund um die Uhr |
||||||||
![]() |
| Martin J |
#4 Geschrieben am: Mi 30.04.2008, 22:01 (+00:13)
|
![]() AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 61 Mitglied seit: 25.05.2007 |
Die Kollation dürfte es nicht sein - die gibt nur die Suchlogik vor.
Ich habe jetzt keine spontane Antwort, wenn ich Du wäre würde ich die Sache eben kurz via Shell und print_r nach jedem Schritt debuggen. |
![]() |
| pl_90 |
#5 Geschrieben am: Mi 30.04.2008, 22:18 (+00:16)
|
|
AyomRank 5 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 236 Mitglied seit: 29.03.2007 |
versuchs so:
preg_match("/<dl>(.*)<\/dl>/iUms", $my_contentstring, $my_image) -------------------- |
![]() |
| Themenmixer |
#6 Geschrieben am: Mi 30.04.2008, 22:18 (+00:00)
|
||||
![]() AyomRank 4 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Gruppe: Member (aktiv) Beiträge: 98 Mitglied seit: 5.01.2006 |
AAARRRGGGHHHH! Ich hab den Fehler und es mal wieder ein typischer Fall von "Born to be blöd." Meine RegExp hatte einen simplen Fehler: meine Listen-Elemente beginnen nicht mit einem <dl> sondern haben auch eine CSS-Klasse, so dass der Start-Tag so aussieht: <dl class ....> Damit rennt
natürlich ins Leere, aber wenn ich den kleinen, aber feinen Unterschied
einbaue, flutscht es wie sau. Sorry, Martin, war mein Fehler ... wie so oft. :-) Aber Danke für deine Mühe. PS: Es ist erstaunlich auf welch hirnrissige Ideen man bei so einer Fehlersuche kommt .... *grins* -------------------- Weihnachtssprüche - Der Name ist Programm!
Lebkuchen-Rezepte.de - Lebkuchenrezepte Der Stundenzeiger - Das Weblog rund um die Uhr |
||||
![]() |
Thema wird von 0 Benutzer(n) gelesen (0 Gäste und 0 anonyme Benutzer)
0 Mitglieder:
« PHP - Datum und Zeit in Timestamp umwandeln | Programmierung Allgemein | Umkreissuche & Entfernung »
Trackback-Url: http://www.ayom.com/track/t/24243
![]() |
![]() ![]() ![]() |
| Themen Titel | Autor | Views | Antworten | Letzte Aktion |
| PHP: preg_match() oder ereg()? | Josh | 1480 | 4 | Do 12.06.2008, 10:29 |
Anzeige - [Interessiert an einer Anzeige?]


















