即时解析和我要匹配的文本类型然后使其为null如下: -

<tr class="label-BGC"><td colspan="4">any kind of text here</td></tr> 

我希望匹配包含"<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-many,并且?停止贪婪-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