Titel einer HTML-Datei auslesen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Titel einer HTML-Datei auslesen

    Hi,
    ich versuche aus einer HTML-Datei den Titel auszulesen, also alles was zwischen <title und </title> steht. Weiß aber leider nicht so richtig wie.
    Die Funktion zum ersetzen der Tas selber kenne ich:
    $text=eregi_replace("\<title\>([^\[]+)\</title\>", "<TITLE>\\1</TITLE>", $text);
    Aber wie komme ich bei so einem Suchmuster an den Inhalt von "//1" ran oder gibt es eine andere Funktion mit der das geht?

    Vielen Dank im voraus

  • #2
    na denk mal nach du ersetzt es doch schon lass mal </TITLE> und so weg und nimm nur \\1
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      html:

      <head>
      <title>hier kann irgendwie alles stehen !!!</title>
      </head

      regex:
      \<title\>(.*)\<\/title\>

      match:
      start=8, end=59
      Group(0) = <title>hier kann irgendwie alles stehen !!!</title>
      Group(1) = hier kann irgendwie alles stehen !!!

      Kommentar


      • #4
        Danke schon mal...

        Eigentlich dachte ich, dass ich PHP mittlerweile ein wenig kann. Aber irgendwie scheine ich diesmal zu doof zu sein. Irgendwie klappt das bei mir nicht bzw. verstehe ich es nicht ganz.
        Wäre Euch sehr dankbar, wenn Ihr mir ein konkretes Beispiel reintippen könntet.
        Evtl. liegt der Fehler ja auch schon beim Einlesen einer HTML-Datei.

        $input_html = implode("",file($url)); // $url kommt aus einem Formular
        //$input_html = "<title>sdkj bksdjb skdjb sdkjb sdkj bsdkjb</title>"; Damit klappt es leider auch nicht
        $titel = check_title($input_html);

        function check_title($url){ //Die Funktion ist in einer includeten Config abgelegt
        //$text=eregi_replace("\<title\>(.*)\<\/title\>", "\1", $url);
        $text=eregi_replace("\<title\>([^\[]+)\</title\>", "\\1", $url);
        return $text;
        }

        @MoRtAlAn
        Was hat es mit dem Match: auf sich, das kenne ich gar nicht und meine PHP-Bücher geben auch nichts her


        Vielen Dank für Eure Hilfe

        Kommentar


        • #5
          also,

          willst du wirklich nur den inhalt des title-tags auslesen
          reicht
          Code:
          preg_match_all ("/<title>(.*)<\/title>/i", der_inhalt_der_html_datei, $ergs)
          vielleicht sogar preg_match, ...
          laß dir danach mal per print_r ($ergs); den inhalt ausgeben.

          wenn mehr als ein title-tag drin ist, gibt entweder probleme oder nen schalter ...
          Die Zeit hat ihre Kinder längst gefressen

          Kommentar

          Lädt...
          X