Ankündigung

Einklappen
Keine Ankündigung bisher.

String auslösen

Einklappen

Neue Werbung 2019

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

  • String auslösen

    Hallo!

    ich hab da einen String, z.B.:

    <div class='right-box'>
    Ein Junggeselle ist ein Mann, der nur ein einziges Problem hat - und das ist l&ouml;sbar.
    Woody Allen</div>

    So als Übung für mich - ich will mich wirklich mit reg. Expr. anfreunden - irgendwie - möchte ich die beiden Strings :
    1. "Ein Junggeselle ist ein Mann, der nur ein einziges Problem hat - und das ist l&ouml;sbar."
    2. "Woody Allen"
    herauslösen.

    Wie geht man so was sinnvoll an?

    Grüße
    Bruno

  • #2
    Versuch mal diese Variante:
    PHP-Code:
    <?php

    $found 
    = array ( );

    preg_match("#<div class='right-box'> (.*?)
    [b](.*?)[/b]</div>#"
    $string$found);

    $string_neu $found[1];
    $string_neu2 $found[2];
    ?>
    Das ist jetzt allerdings ungetestet...
    [B]Mfg Tomtaz[/B]
    [I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:

    Kommentar


    • #3
      Re: String auslösen

      Zitat von dh1sbg
      So als Übung für mich
      Warum sollen wirs dann für dich lösen? Versuch dich doch erstmal selbst dran.

      Kommentar


      • #4
        Hallo Zergling,

        ich komme mit meinen Versuchen nicht weiter - finde den $%&/( Fehler nicht habe durch TomTaz erkannt, dass ich einen absolut falschen Weg eingeschlagen hatte.

        PHP-Code:
        $string="<div id='right'> <div class='menutitel'><span class='menu-text'>Denk-mal</span></div> <div class='right-box'> Zyniker: ein Mensch, der, wenn er Blumen sieht, nach dem Sarg Ausschau hält.
        [b] Henry Louis Mencken[/b]</div>"
        ;

        preg_match("#<div class='right-box'> (.*?)
        [b](.*?)[/b]</div>#"
        $string$found);print_r($found);

        $string_1=str_replace("<","&lt;",$string);
        $string_1=str_replace(">","&gt;",$string_1);

        echo 
        "<hr>$string_1";
        echo 
        "<hr>".strip_tags($string); 
        funktioniert.

        Bei diesem String geht es aber nicht - der Ausdruck greift nicht.
        • <div class='menutitel'><span class='menu-text'>Denk-mal</span></div>
          <div class='right-box'>
          Geld: der Punkt, den Archimedes suchte, um die Welt aus den Angeln zu heben.
          Bloor Schleppey</div>

          <div class='menutitel'><span class='menu-text'>Heute</span></div>
          <div class='right-box'>
          Datum:

          28.Mai2007

          Sonne:

          Aufgang: 05:43Uhr
          Untergang: 21:12Uhr
          Mond:

          zunehmende Sichel

          Illumination: 91.3%

          Vollmond in: 2.81Tage

          Neumond in: 17.6Tage

        Kommentar


        • #5
          Verwende mal preg_match_all() damit solltest du weiterkommen...

          Aber weiter musst du selber wissen. Ich habe dir gezeigt wie es geht, aber du möchtest ja üben... :wink: :wink:
          [B]Mfg Tomtaz[/B]
          [I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:

          Kommentar


          • #6
            Zitat von dh1sbg
            Bei diesem String geht es aber nicht - der Ausdruck greift nicht.
            Dann vereinfache den Suchstring soweit, bis er wieder greift.

            Kommentar


            • #7
              Mal ne andere Frage: Für was benötigst du das überhaupt?
              [B]Mfg Tomtaz[/B]
              [I]"Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..." [/I]:!::shock:

              Kommentar


              • #8
                TomTaz: Für was benötigst du das überhaupt?:
                :ch habe mir aus einer Internet - Seite den Quelltext mal angeschaut. Und wollte an diesem verregneten Wochenende mit regExp üben.

                Habe jetzt eine Lösung gefunden:
                $string=str_replace("\r","",$string);
                $string=str_replace("\n","",$string);
                vor dem preg_match. Suche jetzt weiter in der Doc um die str_replace zu ersetzen.

                Danke nochmals - ich war voll auf dem Holzweg zu Beginn der Übung.
                Bruno

                Kommentar

                Lädt...
                X