質問

解析を行い、一致させたいテキストの種類を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);
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top