Php 使用preg_replace删除带有空格的部分HTML
我正在尝试使用preg_replace查找并删除CMS中的部分页面 这是我想删除的代码示例:Php 使用preg_replace删除带有空格的部分HTML,php,preg-replace,Php,Preg Replace,我正在尝试使用preg_replace查找并删除CMS中的部分页面 这是我想删除的代码示例: <dt> <label for="my_label">My label:</label> </dt> <
<dt>
<label for="my_label">My label:</label>
</dt>
<dd>
<select name="my_label" id="my_label">
<option value="0" selected="selected">option 0</option>
<option value="1">option 1</option>
<option value="2">option 2</option>
<option value="3">option 3</option>
</select>
</dd>
我的标签:
选项0
选择1
选择2
选择3
选项可以是动态的,它们取决于配置文件中的用户设置
在这里提出的其他问题的许多提示的帮助下,我能够做到:
preg_replace('#(?<=<label for="my_label">)(.*?)(?=<\/select>)#ms', '', $html);
preg_replace('#)(?要删除整个块,请使用以下命令:
preg_replace('!(<dt>\s+<label for="my_label">.*?</dd>)!ms', '', $t);
preg_replace('!(\s+.*)!ms','$t);
\s是任何空格
.*?将在之前匹配尽可能少的字符,以仅删除此块
(你可以在这里找到更多:)你现在想要实现什么?去掉所有的空格-或者删除整个dt+dd块?我想我写得很清楚,首先引用的代码就是我想要删除的-dt+dd
preg_replace('!(<dt>\s+<label for="my_label">.*?</dd>)!ms', '', $t);