Steve: letzten Zeilenumbruch <br /> aus String entfernen.

Hallo Forumler,

Ich bräuchte mal wieder dringend etwas Hilfe von Euch....

Ich habe einen String von dem ich alle Leerzeichen und Zeilenumbrüchen am Ende entfernen will. Die Umbrüche sind aber alle als <br /> vorhanden, und somit funktioniert trim() nicht.
gibt´s da irgendeine einfache Lösung?

$text = "Das ist der Beispieltext<br />alles nach dem Punkt soll weg.  <br /><br />    "

Das ganze ist ein Fehlerabfang. d.h. es muss nicht zwingend ein Umbruch vohanden sein, es können aber auch mehrere vorhanden sein.

Ideen?
danke!
Steve.

  1. Hallo Steve.

    $text = "Das ist der Beispieltext<br />alles nach dem Punkt soll weg.  <br /><br />    "

    Du könntest dich eines gierigen Suchmusters bedienen (http://de.selfhtml.org/cgiperl/sprache/regexpr.htm#gierig_genuegsam):

    $str = preg_replace("/^(.+)./", "${1}", $text);

    Damit sollte alles bis zum letzten Punkt in $str stehen (ungestest).

    Freundschaft!
    Siechfred

    --
    Punk's not dead: http://www.siechfreds-welt.de/badreligion.shtml
    Dankbarkeit, man spürt sie ja so selten bei den Menschen, und gerade die Dankbarsten finden nicht den Ausdruck dafür, sie schweigen verwirrt, sie schämen sich und tun manchmal stockig, um ihr Gefühl zu verbergen. (Stefan Zweig)
    1. Hallo Sichfred!

      Danke für deine Hilfe.
      Theoretisch funktioniert das was du mir hier geschrieben hast, aber leider nicht in meinem Fall, da ich mich aber auch in der Fragestellung etwas falsch ausgedrückt habe:

      $text = "Das ist der Beispieltext<br />alles nach dem Punkt soll weg.  <br /><br />    "

      Damit meinte ich daß alle eventuell vorhandenen Leerzeichen sowie <br />´s an Stringende entfernt werden sollen. Der Punkt ist nicht unbedingt vorhanden (war nur ein Beispiel), und kann natürlich auch im Text mehrmals vorkommen.

      Ich möchte eigentlich die Funktion von trim($text) verwenden, nur das eben trim() nur Leerzeichen sowie /n /r usw. entfernt, nicht aber <br/>

      Du könntest dich eines gierigen Suchmusters bedienen (http://de.selfhtml.org/cgiperl/sprache/regexpr.htm#gierig_genuegsam):
      $str = preg_replace("/^(.+)./", "${1}", $text);

      Boa, Ich weiß schon warum ich bisher preg_replace immer aus dem Weg gegangen bin ;-)

      Grüsse
      Steve.

      1. Hi Steve,

        damit sollte es funktioieren:

        <?php

        echo "'", myTrim("Das ist der Beispieltext<br />alles nach dem Punkt soll weg.  <br /><br />    "), "'";

        function myTrim($str)
        {
            return preg_replace("
              ~
                (
                  \s* | <br\s*/>
                )*$
             ~x", "", $str);
        }

        ?>

        freundlichen Gruß
        Danny

        1. Hi Danny

          damit sollte es funktioieren:

          Damit hat es funktioniert!! ;-)

          VIELEN DANK!
          Grüsse Steve.