Für ne korrekte Lösung isses bei mir zu spät (2. Flasche Wein ist in Arbeit), den Fehler seh ich aber:
sucht nach 2 aufeinanderfolgenden > - was ja nicht Sinn der Sache ist...Code:(</p>{2})
Ich habe einen Text vorliegen mit mehreren P-Tags, dadrin teilweise noch <br/>-Tags. Nun sollen die ersten beiden Absätze aus dem Text entfernt werden. Ich habe es so versucht - und keinen Erfolg:
Es wird weiterhin der gesamte Text - in diesem Beispiel alle drei Absätze - angezeigt. Wo liegt der Fehler?PHP-Code:$text = "<p>Ich bin eine erste Zeile<br/>
Dann kommt ein Break.</p>
<p>Und gleich noch ein Absatz.</p>
<p>Der dritte Absatz sollte erhalten bleiben. Das nur zur Info.</p>";
$ersetzen = str_replace('^(<p>)+[a-zA-Z]+(</p>{2})$','',$text);
echo $ersetzen;
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Für ne korrekte Lösung isses bei mir zu spät (2. Flasche Wein ist in Arbeit), den Fehler seh ich aber:
sucht nach 2 aufeinanderfolgenden > - was ja nicht Sinn der Sache ist...Code:(</p>{2})
Gruß, der Michl
* * * if you want them to RTFM, make a better FM! * * *
Der Bereich Traum-Scripts ist ausschließlich zum veröffentlichen von fertigen Scripts und nicht für Probleme oder Hilfegesuche. Deswegen schubs ich das mal in's entsprechende Board.
#.Viele Grüße - Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
PHP Tutorials und kostenlose Scripts gibt's bei phpBuddy.eu
Follow phpBuddy on Twitter
LTFB - anfängerfreundliche Tutorials
.
Macht ja nix
@ Magerquark
str_replace benutzt keine Suchmuster, hier wäre wohl eher eine preg_* Funktion angebracht. Außerdem kapier ich deine Frage nicht so ganz, weil es unlogisch wäre Pragraphen zu entfernen und Break-Tags drin zu lassen. Es wäre sehr hilfreich einfach mal ein Beispiel anzufügen, welches Ergebnis erwartet wird - quasi ein Vorher/Nachher der Zeichenkette.
#.Viele Grüße - Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
PHP Tutorials und kostenlose Scripts gibt's bei phpBuddy.eu
Follow phpBuddy on Twitter
LTFB - anfängerfreundliche Tutorials
.
Na ja - ich denke mal, daß er aus einem 3-Absatz-Text nur den letzten Absatz rausfiltern will...
Gruß, der Michl
* * * if you want them to RTFM, make a better FM! * * *
Na wenn das so ist, dann sollte das hier in diese Richtung gehen.
PHP-Code:$text = "<p>Ich bin eine erste Zeile<br/>
Dann kommt ein Break.</p>
<p>Und gleich noch ein Absatz.</p>
<p>Der dritte Absatz sollte erhalten bleiben. Das nur zur Info.</p>";
preg_match_all( "/<p>(.*)<\/p>/siU", $text, $treffer );
$letzter_absatz = array_pop( $treffer[0] );
echo htmlspecialchars( $letzter_absatz );
#.Viele Grüße - Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
PHP Tutorials und kostenlose Scripts gibt's bei phpBuddy.eu
Follow phpBuddy on Twitter
LTFB - anfängerfreundliche Tutorials
.
Also erst einmal: Sorry fürs falsche Posten. Habe mich selber schon gefragt, warum das so anders aussah.
Und dann Danke für den Hinweis - ach was, für die Lösung.![]()
webmichl hatte mich trotz der 2. Flasche Wein verstanden. Alle Achtung!
Und das mit dem zweifachen Aufeinanderfolgen von </p> wurde mir auch klar.
Noch eine Frage: Könnte jemand den Inhalt von preg_match_all (also nicht die Funktion an sich) in Worte fassen? Sprich: Was macht das Suchmuster genau, Schritt für Schritt ...? Nur wenn es keine allzu großen Umstände macht. Geholfen wurde ja schon.![]()
<< Meine Ankunft war zeitlich schlecht gewählt...>>
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)