MrF*_*dge 2 php regex string preg-replace
我已经构建了一个表单,但是表单的某些行可能会返回空白,并带有默认值.我正在尝试找到一种搜索表单输出的方法,然后删除我不知道不需要的位 - 看起来像:
<tr bgcolor="#FFFFFF">
<td>2E</td>
<td id="8003">-800</td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我在几个位上有效地使用了str_replace(),但我的主要问题是bgcolor ="#FFFFFF"可以改变为不同的十六进制值,也是
我可以为每个可能的结果写一个str_replace(),但是有没有像这样的preg_replace解决方案?它必须是一个非常复杂的正则表达式.
您可以使用正则表达式替换preg_replace().例如,要删除可能存在或不存在可变颜色字符串的bgcolor属性:
$s = preg_replace('! bgcolor="#[0-9a-fA-F]{6}"!', '', $s);
Run Code Online (Sandbox Code Playgroud)
但是,与往常一样,不建议使用正则表达式来解析或处理HTML.很多事情都可能出错:
这仅仅是针对您问题的有限子集.
使用DOM处理方法要强得多,其中PHP有几种变体.请参阅使用PHP和DOM解析HTML.