Christian Walgenbach: HTML Parsen

Hi,

wie bekomme ich es hin einen includierten HTML Code nach dem Muster <img src="start.gif" und <a href="aktuell.php" zu durchsuchen und einen vordefinierten text hineinzuschreiben.

by Lino

  1. Moin!

    wie bekomme ich es hin einen includierten HTML Code nach dem Muster <img src="start.gif" und <a href="aktuell.php" zu durchsuchen und einen vordefinierten text hineinzuschreiben.

    Includiere Ihn nicht, sondern lese Ihn in eine Variable ein. Diese kannst Du dann entsprechend mit

    MFFG (Mit freundlich- friedfertigem Grinsen)

    fastix®

    --
    Als Freiberufler bin ich immer auf der Suche nach Aufträgen: Schulungen, Development. Auch  für seriöse Agenturen.
    1. Hallo,

      replace()
      habe ich gemacht.

      <?php

      $inhalt = file_get_contents($_GET[id]."/".$_GET[id].".".$format);
      echo str_replace ( "<img src="", "<img src="".$GET[id], $inhalt);

      ?>

      leider wird der quellcode ohne Veränderung ausgegeben.

      by Christian

      1. hi,

        $inhalt = file_get_contents($_GET[id]."/".$_GET[id].".".$format);
        echo str_replace ( "<img src="", "<img src="".$GET[id], $inhalt);

        leider wird der quellcode ohne Veränderung ausgegeben.

        hast du überprüft, ob es auch wirklich textteile gibt, auf die dein suchausdruck 100% zutrifft?

        gruß,
        wahsaga

        --
        "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
        1. hast du überprüft, ob es auch wirklich textteile gibt, auf die dein suchausdruck 100% zutrifft?

          der Quelltext sieht so aus:

          <p class="mittig"><br><br><br><img src="start.gif" alt="Leonardo" width="419" height="266"></p>

          er soll durch die Ersetzung so aussehen:

          <p class="mittig"><br><br><br><img src="hauptseite/start.gif" alt="Leonardo" width="419" height="266"></p>

          1. hast du überprüft, ob es auch wirklich textteile gibt, auf die dein suchausdruck 100% zutrifft?
            der Quelltext sieht so aus:

            <p class="mittig"><br><br><br><img src="start.gif" alt="Leonardo" width="419" height="266"></p>

            er soll durch die Ersetzung so aussehen:

            <p class="mittig"><br><br><br><img src="hauptseite/start.gif" alt="Leonardo" width="419" height="266"></p>

            Hallo Christian,

            da hab ich doch noch ne andere Lösung im Ärmel, ich nehme da lieber ereg_replace oder besser eregi_replace (kann ja sein, dass Groß-/Kleinschreibung ignoriert werden dürfen).

            Code-Schnipsel:

            $original='<p class="mittig"><br><br><br><img src="start.gif" alt="Leonardo" width="419" height="266"></p>';
            $replaced=eregi_replace("<img src="","<img src="hauptseite/",$original);

            echo $replaced;

            Das ganze lässt sich sicher noch verfeinern, doch da ist ja deiner Kreativität keine Grenzen gesetzt.

            Viel Erfolg
            Martin

            1. hi,

              da hab ich doch noch ne andere Lösung im Ärmel,

              mit solchen aussagen sollte man vorsichtig sein.

              ich nehme da lieber ereg_replace oder besser eregi_replace

              was soll daran besser sein?

              das manual zu str-replace() sagt doch eindeutig,

              " Falls Sie keine ausgefallenen String-Ersetzungen brauchen, sollten Sie immer dieser Funktion den Vorzug vor ereg_replace() oder preg_replace() geben."

              reguläre ausdrücke auszuwerten kostet halt einfach mehr performance, als simple string-vergleiche - also sollte man auch letztere benutzen, wenn sie ausreichen.

              dein vorschlag hat also etwas kanonen-spatzen-artiges.

              gruß,
              wahsaga

              --
              "Look, that's why there's rules, understand? So that you _think_ before you break 'em."
              1. Na gut, ich wollte nicht gleich so auftrumpfen, eher helfen. :-)

                eregi_replace lässt sich in meinem beispiel ohne weiteres austauschen in str_replace und es funktioniert. Habs gerade nochmal getestet. Der Spatz bleibt weitestgehend unversehrt.. ;-)

                Schöne Grüße
                Martin