| (Web-) Design und webbasierte Sprachen Tipps & Tricks, Designabgleich, HTML & Javascript, Flash, ASP, PHP, Perl/CGI... |
Diskussion: String parsen im Forum (Web-) Design und webbasierte Sprachen, in der Kategorie Web, Network & Multimedia Palace; Anzeige Hallo! Ich habe einen langen String mit Text und HTML Tags. In diesem befindet sich auch folgendes : <h2>Text</h2> ...
![]() |
| | #1 (permalink) |
| Registriert seit: 19.08.04 ![]() Likes: 1 | Anzeige Hallo! Ich habe einen langen String mit Text und HTML Tags. In diesem befindet sich auch folgendes : <h2>Text</h2> Gibt es eine schöne PHP Funktion mit der ich aus dem String den Text zwischen dem ersten <h2> auslesen kann ? |
| | |
| | #2 (permalink) |
| Member of Honour ![]() Registriert seit: 28.05.10 ![]() ![]() ![]() ![]() ![]() ![]() Likes: 211 | wie wärs mit nem regulären ausdruck? <h2>(.*?)</h2>
__________________ Code: :(){ :|:& };: |
| | |
| HaBOT | - Anzeige - |
| |
| | #3 (permalink) |
| Senior Member | wenns noch mehr in die richtung gehen soll, dann schau dir mal die verschiedenen bbcode projekte an wie hier: http://www.christian-seiler.de/projekte/php/bbcode/ (alternative projekte weiter unten können auch sehr nützlich sein)
__________________ cu Chakky we are dreaming in digital we are living in realtime we are thinking in binary we are talking in IP welcome to our world |
| | |
| | #4 (permalink) |
| Member of Honour ![]() | Oder etwas komplizierter aber lustiger, mit substr und strpos ![]() lG
__________________ << Wir leben bereits im morgigen Gestern, doch vom gestrigen Morgen sind wir noch weit entfernt. >> << Träume sind Schäume. Es liegt an dir ob du sie lebst oder ein Schaumschläger bist! >> << Erst wenn man beginnt zu implizieren, wird man merken, dass einem sowieso keiner richtig zuhört. >> |
| | |
| | #5 (permalink) |
| Member of Honour ![]() | wobei "*?" keinen großen Sinn macht, oder? .*? = (((beliebiges Zeichen) beliebig oft oder keinmal) einmal oder keinmal) das Fragezeichen ist doch also überflüssig? PHP-Code: |
| | |
| | #6 (permalink) | |
| Doch, das Fragezeichen macht sehr wohl Sinn. Wenn du dir die PCRE-Specs mal genauer anschaust, wirst du sehen, dass ein Fragezeichen nach einem Quantifier diesen von "greedy" nach "lazy" stellt, so dass der Quantifier nicht mehr die größtmögliche Zeichenmenge matcht, sondern die kleinstmögliche. Das ist wichtig, wenn du eine Sequenz von möglichen Matches hast. Ein Greedy-Quantifier matcht manchmal einfach zu viel: Code: preg_match_all('/<h2>(.*)<\/h2>/i', '<h2>Titel1</h2> ... <h2>Titel2</h2>', $out)
--> 1 Match, $1 = 'Titel1</h2> ... <h2>Titel2'
preg_match_all('/<h2>(.*?)<\/h2>/i', '<h2>Titel1</h2> ... <h2>Titel2</h2>', $out)
--> 2 Matches, erster Match: $1 = 'Titel1', 2. Match: $1 = 'Titel2' Zitat:
mfg, metax.
__________________ Wenn keiner zuschaut, teile ich heimlich durch Null! Meine Homepage: Planet Metax | meine Bilder: DeviantArt | Twitter | ||
| | |
| | #7 (permalink) |
| Registriert seit: 12.08.10 ![]() ![]() Likes: 30 | Ich benutze das nur, wenn ich das für einen einzelnen Quantifier brauche. Wenn alle Quantifier ungreedy sein sollen, bevorzuge ich den Modifier "U". Das macht das ganze dann auch etwas leichter zu lesen... PHP-Code: Micha
__________________ http://www.openvas.org |
| | |
![]() |
| - Anzeige - | |
| |
| Themen-Optionen | |
| Ansicht | |
| |