tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
205
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    sipoh sipoh ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    178
    Hallo,

    ich möchte den inhalt eines Tags auslesen. Dazu habe ich mir jetzt krampfhaft folgendes zusammengeschrieben:

    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 )
    Ist das korrekt?

    PS: Es sollen nur "<link>"-Tags sein.
     

  2. #2
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    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 ;-)

  3. #3
    sipoh sipoh ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    178
    Das stimmt allerdings. Die Ausgabe ist zudem nicht die, die ich haben wollte.

    Wenn Typo3 Links nicht parst, sieht das so aus:

    HTML-Code:
    <link 2="" -="" internal-link="" Öffnet="" internen="" link="" im="" aktuellen="" fenster="">
    Die Ausgabe, die ich derzeit erziehle, ist folgende:

    HTML-Code:
    Array ( [0] => Array ( [0] =>  ) [1] => Array ( [0] => 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.
     

  4. #4
    Avatar von saftmeister
    saftmeister saftmeister ist offline Der Saft sei mit dir
    tutorials.de Premium-User
    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 ;-)

  5. #5
    sipoh sipoh ist offline Mitglied Gold
    Registriert seit
    Apr 2007
    Beiträge
    178
    Wow, danke erstmal.
     

Ähnliche Themen

  1. Reguläre Ausdrücke
    Von Steusi im Forum Coders Talk
    Antworten: 4
    Letzter Beitrag: 11.12.08, 13:01
  2. Reguläre Ausdrücke
    Von Binio im Forum CGI, Perl, Python, Ruby, Power Shell
    Antworten: 1
    Letzter Beitrag: 03.06.07, 23:12
  3. Reguläre ausdrücke
    Von Ntti im Forum Javascript & Ajax
    Antworten: 7
    Letzter Beitrag: 31.10.06, 12:15
  4. Reguläre Ausdrücke
    Von matze0815 im Forum PHP
    Antworten: 6
    Letzter Beitrag: 02.12.04, 08:58
  5. Reguläre Ausdrücke: Tags Ignorieren
    Von Gottox im Forum PHP
    Antworten: 2
    Letzter Beitrag: 31.03.03, 17:36