wie diese Art der Konstruktion passen?
-
05-07-2019 - |
Frage
im tut das Parsen und die Art von Text, der i übereinstimmen soll und dann null machen es sich wie folgt: -
<tr class="label-BGC"><td colspan="4">any kind of text here</td></tr>
Ich möchte jede Zeile übereinstimmen, die "<tr class="label-BGC"><td colspan="4">any text</td></tr>"
enthält
sein Abend hier und meine Gehirn-Batterie ist völlig nach unten
, was im versuchend zu tun ist: -
$patterns='<td colspan="4">'.stristr($parsed,'[^a-z0-9_- $]').'</td></tr>';
$replacements=' ';
$parsed = str_replace($patterns, $replacements, $parsed);
$ analysiert wird, um die gesamten Daten enthält, die das Parsen im.
mein Code funktioniert nicht, dass jemand mir einige Vorschläge hier helfen kann !!!
Lösung
Versuchen Sie etwas Einfaches wie folgt aus:
$parsed = preg_replace('{<tr class="label-BGC"><td colspan="4">.*?</td></tr>}',
$replacements, $parsed);
Die. jedes Zeichen entspricht, macht die * es 0-many entsprechen, und das? hält es gierig -i.e. sein es wird in der ersten Folge zu stoppen, und nicht die letzten möglichen.
Andere Tipps
Versuchen Sie Folgendes:
preg_replace("`\s*<tr\s+class\s*=\s*"label-BGC"\s*>\s*<td\s+colspan\s*=\s*"4"\s*>.*?</td\s*>\s*</tr\s*>\s*`i", "", $content);
All \s
Matching vielleicht ein wenig zu viel des Guten, aber es ist sehr nachsichtig, wenn diese Eingabe von einem Benutzer kommt.
Sie können aber wahrscheinlich nur weg mit
preg_replace("`<tr class="label-BGC"><td colspan="4">.*?</td></tr>`i", "", $content);