使用 PHP 从 html 中删除 <select>

Remove <select> from html with PHP

我需要使用 PHP 从 HTML 中删除整个 select 下拉菜单及其所有选项。

我假设 preg replace 会做到这一点,但我不知道如何使用它。

所有html都在一个变量中。

$html = "

<p> something </p>

<select name='bla' id='bla' class='REMOVE'>
<option></option>
<option></option>
<option></option>
<option></option>
</select>

<p> something </p>

<p> something </p>

";

转换为....

$html = "

<p> something </p>

<p> something </p>

<p> something </p>

";

您可以简单地结合使用 explode()substr()implode() 以及一个简单的循环来实现(如果您不想使用 Regex -那就是……)。下面的代码片段(您可能 Quick-Test Here)演示了如何:

<?php

    $html = "

                <p> something </p>

                <select name='bla' id='bla' class='REMOVE'>
                <option></option>
                <option></option>
                <option></option>
                <option></option>
                </select>

                <p> something </p>

                <p> something </p>

                ";

        $arrParts   = explode("</select>", $html);
        foreach($arrParts as &$part){
            if($selPos = strpos($part, "<select")){
                $part = substr($part, 0, $selPos);
            }
        }
        $html = implode("", $arrParts);
        var_dump($html);