Leerzeichen zwischen Tags entfernen entfernt zuviel???

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

  • Leerzeichen zwischen Tags entfernen entfernt zuviel???

    Hi,

    Problem mit PHP 5.0.3 / preg_replace()

    in einem HTML-Text möchte ich Leerraum zwischen Tags entfernen, aber mit Suchstring "'>\s+<'" und Replacement "><" wird komischerweise noch etwas mehr entfernt. Besipiel: aus <h2>6(space)Text1</h2>(space)<h3>6.4(space)Text2</h3> werden alle drei durch (space) gegebenen kreativen Freiräume gelöscht. Woran liegt's und wie kann ich nur die Leeräume zwischen > und < wegbekommen und alle anderen dalassen?

    Lieben Dank für jeden Hinweis
    Dirk
    Zuletzt geändert von astrognom; 06.05.2005, 20:23.
    ---
    da drin, in Deinem Kopf, da sieht alles ganz logisch und natürlich aus. Aber wir, wir sind hier. Hier draussen... ;-)

  • #2
    Code:
    />\s+</s
    ?

    Kommentar


    • #3
      Leider nicht

      Hm,

      lt. Doku sammelt ein Punkt mit /s auch Newlines.
      Hat auf mein Problem jetzt leider keinen direkten Einfluss.
      Genauer:
      PHP-Code:
      $search="/>\s+</s";
      $replace="><";
      preg_replace($search,$replace,$bla); 
      macht immer noch aus
      PHP-Code:
      <h2>6. Kapitel</h2> <h3>6.1 Section</h3
      das folgende:
      PHP-Code:
      <h2>6.Kapitel</h2><h3>6.1Section</h3
      Komischerweise werden weitere Spaces inmitten des (dann folgenden) Textes nicht ersetzt.

      Trotzdem herzlichen Dank für den Versuch und liebe Grüße,
      Dirk
      ---
      da drin, in Deinem Kopf, da sieht alles ganz logisch und natürlich aus. Aber wir, wir sind hier. Hier draussen... ;-)

      Kommentar


      • #4
        kann es sein, daß du etwas wichtiges vergessen hast?
        Code:
        #</.+>\s+<.+>#isU
        http://pcre.nophia.de/evaluate/55757...dex.php#output
        Die Zeit hat ihre Kinder längst gefressen

        Kommentar


        • #5
          Eigentor

          Da hab ich wohl ein Eigentor geschossen...

          Das preg_replace() war eines in einer längeren Kette.

          Als erstes wollte ich explizite (nbsp) Spaces in normale umwandeln, dann solche zwischen Tags wegmachen, dann mehrface Spaces zu einem verdichten usw.

          Leider habe ich die regexps irrtümlich in der falschen Reihenfolge angewendet. So hatte das Verschwinden des zusätzlichen Spaces gar nix mit dem pattern zu tun. Natürlich macht
          PHP-Code:
          $bla preg_replace("/>\\s+</s","",$bla
          genau das richtige (der Backflaff wird übrigens von der Forumsoftware wegoperiert...)

          Trotzdem herzlichen dank für die Unterstützung.

          Sorry vielmals und Liebe Grüße,
          Dirk
          ---
          da drin, in Deinem Kopf, da sieht alles ganz logisch und natürlich aus. Aber wir, wir sind hier. Hier draussen... ;-)

          Kommentar

          Lädt...
          X