Bestimmten Teil aus einem String ausschneiden.
Thomas
- php
ich habe eine Seite eingelesen,
.
.
.
</table><br />
<table border="0" cellpadding="3" width="600">
<tr><td class="xx">
.
.
.
die befindet sich im string $seite.
Nun würde ich gerne alle tabellen Formatierungen löschen!
border="0" cellpadding="3" width="600"
ich dachte ich bekomme das mit str hin.
strtr ( $seite, '', 'border="0" cellpadding="3" width="600"' );
aber leider war das nicht der richtige Weg.
Vieleicht kann mir hier jemad erklären, wie ich den besagten Teil aus meinem String löschen kann.
Thomas
Vieleicht kann mir hier jemad erklären, wie ich den besagten Teil aus meinem String löschen kann.
Lösche es doch mit regulärem Ausdruck heraus, via preg_replace zum Beispiel.
MfG
bubble
Hallo Thomas,
</table><br />
<table border="0" cellpadding="3" width="600">
<tr><td class="xx">
Vieleicht kann mir hier jemad erklären, wie ich den besagten Teil aus meinem String löschen kann.
Ich würde dazu preg_replace verwenden. Mittels eines Suchmusters könnte man alle <table...> gegen <table> ersetzen:
preg_replace('~<table[^>]+>~',"<table>",$input)
ersetzt Zeichenketten, die mit <table beginnen, gefolgt von 1 oder mehr Zeichen, die kein > sind, gefolgt von >
LG, Jonny 5
P.S.: Gratuliere zum neuen Forumsdesign, ich finde es hervorragend und die Umstellung fiel mir deswegen auch besonders leicht :-) Allein das "Antwort" im Antwortkasten wäre vielleicht nicht nötig, aber es stört ja auch nicht wirklich... und wie ich gerade sehe, steht in der Vorschau dann dort "Vorschau" :-D
Tach!
ich dachte ich bekomme das mit str hin.
strtr ( $seite, '', 'border="0" cellpadding="3" width="600"' );
aber leider war das nicht der richtige Weg.
Vieleicht kann mir hier jemad erklären, wie ich den besagten Teil aus meinem String löschen kann.
Das PHP-Handbuch listet die korrekte Reihenfolge der Parameter auf. Allerdings ist strtr() in der Form mit 3 Parametern nicht für dein Anliegen geeignet. Die Variante mit zwei Parametern ist zwar verwendbar, braucht jedoch ein Array, in dem Suchstring und Ersatz stehen. Diese Variante ist also gut geeignet, wenn du mehrere Ersetzungen vornehmen willst. Bei nur einem Suchstring ist str_replace() besser, weil ohne zusätzliches Array.
Und ja, mit regulären Ausdrücken geht das natürlich auch. Aber man muss ja nicht mit Kanonen auf Spatzen schießen, wenn du kein Muster sondern nur einen feststehenden Text ersetzen willst.
dedlfix.
Und ja, mit regulären Ausdrücken geht das natürlich auch. Aber man muss ja nicht mit Kanonen auf Spatzen schießen, wenn du kein Muster sondern nur einen feststehenden Text ersetzen willst.
Und nur ein Leerzeichen zu viel, oder ' statt " und schon wirds nicht mehr ersetzt. Ich find reguläre Ausdrücke im dem Fall angebrachter.
MfG
bubble