![]() |
| | Themen-Optionen | Thema durchsuchen |
| | Nach oben #1 |
| Gast
Beiträge: n/a
|
Hallo! Also ich habe mir folgenden RegEx gebastelt um Überschriften zu filtern. <h(1|2|3|4|5|6)>(.*)<\/h\1> Funktioniert auch wunderbar. Allerdings habe ich schon viele Reguläre Ausdrücke gesehen wo folgendes steht. PHP-Code: MfG Fat Tony Geändert von Jay (19.01.2006 um 19:25 Uhr) |
|
| | Nach oben #3 | ||||
| Erfahrener Benutzer Registriert seit: 18.03.2005
Beiträge: 597
| Zitat:
Diese Anweisung ist von den regulären Ausdrücken entnommen worden, um generell nach HTML-Tags zu suchen. Innerhalb von HTML-Tags können auch bei Attributen ein > stehen, damit dies nicht als HTML-Code erkannt wird, diese Schreibweise. Beispiel: <a title="weiter >>>" href="weiter.php"> weiter </a> Was eher unwahrscheinlich ist, dass es bei einen H3-Tag vorkommt. PS: Nachzulesen auch bei:
EDIT: Danke Ben für die Korrektur ... Zitat:
Dieser Pattern würde auch <h6>text</h1> finden, was es aber garnicht gibt. Vorschlag: <h([1-6])[^>]*>(.*)</h\1> (konnte diese Zeile hier nicht in PHP-Tag schreiben) Beispiel: http://www.cix88.de/projekte/regexp/...607110213.html Wenn also vorne <h1> steht, muss hinten das selbe stehen Geändert von CIX88 (15.01.2006 um 02:02 Uhr) | ||||
| | |
| | Nach oben #5 | |
| Erfahrener Benutzer Registriert seit: 18.03.2005
Beiträge: 597
| Zitat:
Deswegen hatte ich dann mein Code ohne diesen PHP-Tag geschrieben. Ok, dann ist alles ja i.o. | |
| | |
| | Nach oben #10 |
| Erfahrener Benutzer Registriert seit: 18.08.2005
Beiträge: 108
|
Prinzipiell haben negierte Zeichenklassen über [^...] meist den gleichen Sinn: Alles zu fressen, was kommt, ausser etwas bestimmtem, wie im Falle des Tags, wo durch <h3[^>]*> eben nur bis zum Tag-Ende gelesen werden soll, aber nicht weiter. Zumindest ist das die Prinzipielle Idee, XML/HTML sind eigentlich zu komplex, um über reguläre Ausdrücke verarbeitet zu werden. Eine andere Möglichkeit hierfür ist, zumindest mit PCRE, die Quantifier (hier *) ungreedy zu machen, dann fressen sie so wenig wie möglich. Wer auch immer <a [^h]*[^r]*[^e]*[^f]*href ... geschrieben hat, sollte bis auf weiteres das Regex-Schreiben verboten bekommen, ich würde dringendst davon abraten, diese Regex verstehen zu wollen um sie nachzubauen... Geändert von Waq (20.01.2006 um 18:51 Uhr) |
| | |
| | Nach oben #19 | |
| Gast
Beiträge: n/a
| Zitat:
MfG Fat Tony | |
|
![]() |
| Lesezeichen |
| Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1) | |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Vorteil von Serialisierung von Text ? | Byrel | PHP-Programmierung | 11 | 02.11.2006 14:05 |
| Sinn und Unsinn von Blogs | Ben | Plauderecke | 11 | 05.09.2006 17:41 |