このタイプの構造に合わせる方法は?
-
05-07-2019 - |
質問
解析を行い、一致させたいテキストの種類をnullにすることは次のとおりです:-
<tr class="label-BGC"><td colspan="4">any kind of text here</td></tr>
i "<tr class="label-BGC"><td colspan="4">any text</td></tr>"
ここの夜、私の脳のバッテリーは完全にダウンしています
やろうとしていることは:-
$patterns='<td colspan="4">'.stristr($parsed,'[^a-z0-9_- $]').'</td></tr>';
$replacements=' ';
$parsed = str_replace($patterns, $replacements, $parsed);
$ parsedには、解析するデータ全体が含まれています。
私のコードは機能しません
解決
次のような簡単なものを試してください:
$parsed = preg_replace('{<tr class="label-BGC"><td colspan="4">.*?</td></tr>}',
$replacements, $parsed);
は任意の文字に一致し、*は0に一致し、?欲張りになるのをやめる-i.e.最後のシーケンスではなく、最初のシーケンスで停止します。
他のヒント
次を試してください:
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);
すべての\s
マッチングは少しやり過ぎかもしれませんが、この入力がユーザーからのものである場合は非常に寛容です。
それ以外の場合は、おそらく単に逃げることができます
preg_replace("`<tr class="label-BGC"><td colspan="4">.*?</td></tr>`i", "", $content);
所属していません StackOverflow