使用 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);
我需要使用 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);