ERLEDIGT
NEIN
NEIN
ANTWORTEN
4
4
ZUGRIFFE
205
205
EMPFEHLEN
-
Hallo,
ich möchte den inhalt eines Tags auslesen. Dazu habe ich mir jetzt krampfhaft folgendes zusammengeschrieben:
Ist das korrekt?HTML-Code:/* <link 14="" -="" internal-link="" Öffnet="" internen="" link="" im="" aktuellen="" fenster=""> */ preg_match_all("{<link(.*?)[^>]>}", $sql2r['bodytext'], $inhalt); // Ausgabe: Array([1] => 14 - internal-link "Öffnet internen Link im aktuellen Fenster )
PS: Es sollen nur "<link>"-Tags sein.
-
24.04.10 12:19 #2
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Es kommt darauf an, was du genau haben willst. Wenn die Ausgabe dem entspricht, was du dir vorgestellt hast, dann ist es korrekt. Da ich aber nicht hellsehen kann, und damit auch nicht weiß, wie das Ergebnis lauten soll, kann ich dir das weder bestätigen noch dementieren.
Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Das stimmt allerdings. Die Ausgabe ist zudem nicht die, die ich haben wollte.
Wenn Typo3 Links nicht parst, sieht das so aus:
Die Ausgabe, die ich derzeit erziehle, ist folgende:HTML-Code:<link 2="" -="" internal-link="" Öffnet="" internen="" link="" im="" aktuellen="" fenster="">
Mir kommt es im Speziellen auf die 2="" an, da die 2 stellvertretend für die Seiten-ID im Typo ist. Ziel soll es letztendlich sein, dieses Typo-Konstrukt in einen Link umzuwandeln.HTML-Code:Array ( [0] => Array ( [0] => ) [1] => Array ( [0] => 2 - internal-link "Öffnet internen Link im aktuellen Fenster ) )
-
25.04.10 10:37 #4
- Registriert seit
- May 2006
- Ort
- There is no place like 127.0.0.1
- Beiträge
- 3.521
Code php:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
function getAttributes($tag) { preg_match('/<[^>](.*)>/', $tag, $matches); $matches = explode(' ', $matches[1]); $results = array(); foreach($matches as $match) { preg_match('/(.+?)="(.*?)"/', $match, $tagmatch); if(isset($tagmatch[1]) && isset($tagmatch[2])) $results[$tagmatch[1]] = $tagmatch[2]; } return $results; } $html = '<link 2="" -="" internal-link="" Öffnet="" internen="" link="" im="" aktuellen="" fenster="">'; echo "<pre>"; print_r ( getAttributes($html) ); echo "</pre>";
Eine schönere Lösung hab ich nicht finden können. Vielleicht findest du auf http://www.regexlib.com noch was eleganteres.Grüße
--
Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)
-
Wow, danke erstmal.
Ähnliche Themen
-
Reguläre Ausdrücke
Von Steusi im Forum Coders TalkAntworten: 4Letzter Beitrag: 11.12.08, 13:01 -
Reguläre Ausdrücke
Von Binio im Forum CGI, Perl, Python, Ruby, Power ShellAntworten: 1Letzter Beitrag: 03.06.07, 23:12 -
Reguläre ausdrücke
Von Ntti im Forum Javascript & AjaxAntworten: 7Letzter Beitrag: 31.10.06, 12:15 -
Reguläre Ausdrücke
Von matze0815 im Forum PHPAntworten: 6Letzter Beitrag: 02.12.04, 08:58 -
Reguläre Ausdrücke: Tags Ignorieren
Von Gottox im Forum PHPAntworten: 2Letzter Beitrag: 31.03.03, 17:36





Zitieren

Login






[PHP][Snippet] Array zu XML konvertieren