Ankündigung

Einklappen
Keine Ankündigung bisher.

Absatz im Quelltext löschen

Einklappen

Neue Werbung 2019

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

  • Absatz im Quelltext löschen

    Hey,
    ich bräuchte mal einen Hinweiß auf eine Funktion oder einen anderen Tip. Mein Problem:

    ich lese mit file_get_contents einen Quelltext aus und versuche dann mit preg_match_all bestimmte teile in ein array zu bekommen. Soweit läuft das auch, ich habe nur das Problem, dass im Quelltext vor und nach dem String den ich brauche ein Absatz ist. sieht ca so aus:

    <

    wichtiger string

    >

    Wenn ich jetzt mit preg_match_all alles zwischen < und > suche, bekomme ich den string nicht, wie kann ich den Absatz vorher löschen ? mit str_replace oder preg_replace klappt das nicht ganz.

    Nur nochmal: der Absatz ist IM Quelltext!

    Vielen Dank

  • #2
    Indem Du Whitespace mit suchst.
    [COLOR="#F5F5FF"]--[/COLOR]
    [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
    „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
    [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
    [COLOR="#F5F5FF"]
    --[/COLOR]

    Kommentar


    • #3
      Wie genau stell ich das an ????

      Kommentar


      • #4
        Indem Du Dich mehr mit reg. Ausdrücken beschäftigst.

        http://www.php.de/php-einsteiger/489...nsammlung.html
        [COLOR="#F5F5FF"]--[/COLOR]
        [COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
        „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
        [URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
        [COLOR="#F5F5FF"]
        --[/COLOR]

        Kommentar


        • #5
          Wie sieht dein Quelltext denn aus? Wenn es HTML ist benutz einen DOM-Parser!
          "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

          Kommentar


          • #6
            Zitat von Ralph777 Beitrag anzeigen
            Wie genau stell ich das an ????
            PHP-Code:
            // findet eines oder mehrere (Whitespace-)Leerzeichen:
            preg_match_all('/\s+/'$blubber$treffer); 
            http://www.php.net/manual/en/regexp.....backslash.php

            Löschen geht übrigens mit preg_match_all() nicht. Dafür benötigst du preg_replace() ...
            Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.

            Kommentar


            • #7
              OT:

              PROTIP: Am besten die Auslagerungsdatei in die RAM-Disk verlegen. Das beschleunigt die Arbeit enorm, weil keine Festplattenzugriffe mehr stattfinden!

              Der ist gut
              [PHP]if ($var != 0) {
              $var = 0;
              }[/PHP]

              Kommentar


              • #8
                Okay, danke erstmal für die vielen Antworten. Ich habe jetzt mit preg_replace rumprobiert ( genauer: $text = preg_replace('/\s/', ' ', $text); )
                ich habs auch anderweitig probiert, mein problem ist nur ,dass dann die anderen Stellen nicht mehr auffindbar sind.

                Mein Quelltext sieht ca. so aus:

                </td>
                <td class="Odd">wichtiger String1</td>
                <td class="Odd">wichtiger String2</td>
                <td class="Odd">

                wichtiger String3

                </td>

                und der wichtige String3 wird nicht gepackt, daher möcht ich gerne die "leeren Zeilen" löschen, OHNE dass alle Absätze weg sind, denn dann findet prg_match_all die Strings nicht mehr.

                P.S.: ich benutze preg_match_all('|>(.*)<|',$text,$array);

                Kommentar


                • #9
                  Kann mir keiner Weiterhelfen ???

                  Kommentar


                  • #10
                    PHP: Mgliche Modifikatoren in RegEx-Suchmustern - Manual

                    Schau dir mal den Modifikator s an.

                    Oder du änderst
                    Code:
                    (.*)
                    in etwas wie
                    Code:
                    ([^\<]+)
                    .
                    [URL]http://hallophp.de[/URL]

                    Kommentar

                    Lädt...
                    X