Php 使用preg_replace删除带有空格的部分HTML

Php 使用preg_replace删除带有空格的部分HTML,php,preg-replace,Php,Preg Replace,我正在尝试使用preg_replace查找并删除CMS中的部分页面 这是我想删除的代码示例: <dt> <label for="my_label">My label:</label> </dt> <

我正在尝试使用preg_replace查找并删除CMS中的部分页面

这是我想删除的代码示例:

                                <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);