Zeilenumbrüche zu Beginn einer Variable löschen
Thomas
- php
Hallo!
Ich habe einen String:
$text="<br> <br><br> <br> und hier ist der text <br> und noch mehr";
Bei diesem String sollen die <br> und die Leerzeichen vor dem eigentlichen Text gelöscht werden, sodass nur noch
$text="und hier ist der text <br> und noch mehr";
übrig bleibt. Leerzeichen und Zeilenumbrüche im Text sollen erhalten bleiben.
Für Ideen, wie ich das umsetzen kann, bin ich dankbar!
Hello,
$text="<br> <br><br> <br> und hier ist der text <br> und noch mehr";
solange (Text = ' ' oder Text = '<br>')
lösche dieses Vorkommen im Text, also gebe nur den rechten Teil des Strings wieder
Dafür gibt es bei PHP spezielle Stringfunktionen
http://de3.php.net/manual/de/ref.strings.php oder
http://de3.php.net/manual/de/ref.mbstring.php
beachte die verwendete Codierung.
Harzliche Grüße vom Berg
http://bergpost.annerschbarrich.de
Tom
Das man alle <br> und Leerzeichen mit z.B. ereg_replace ersetzen kann, ist mir bewusst, ich weiß aber nicht, wie ich es schaffe, nur vor dem Text Leerzeichen und <br> zu entfernen!
n'abend,
Das man alle <br> und Leerzeichen mit z.B. ereg_replace ersetzen kann, ist mir bewusst, ich weiß aber nicht, wie ich es schaffe, nur vor dem Text Leerzeichen und <br> zu entfernen!
ereg_replace ist POSIX - ich persönlich bevorzuge PCRE und zeige deshalb ein preg_replace() Beispiel:
$string=" <br> hallo";
$tollerString = preg_replace( "/^(\s|<br>)+/i", "", $string);
Aufgebröselt (Pattern-Syntax, Modifier):
/ ->
^ -> Anfang des Strings
( -> öffne Gruppierung
\s -> jede Art von space (auch Tabs, Zeilenumbrüche, etc.)
| -> logisches ODER
<br> -> Zeichenkette, die exakt so auftauchen muss <br > wird nicht erkannt!
) -> Gruppierung schliessen
Wenn du neben <br> auch <br /> erkennen willst, ist das unmerklich schwieriger:
$string=" <br> hallo";
$tollerString = preg_replace( "/^(\s|<br ?\/?>)+/i", "", $string);
da tauch / drin auf, weil der Slash aus seiner eigentlichen Bedeutung gerissen werden muss und als "Literal Character" angesehen werden soll - also Als Slash. Die beiden Fragezeichen bewirken, dass das jeweils vorhergehende Zeichen auftauchen kann, aber nicht muss. Dadurch wird erkannt: <br> <br > <br /> <br/>
weiterhin schönen abend...