我有一个字符串
string(8234) "<style>.{ margin-bottom:10px; float:left; display: inline-block; width:56%; text-align:left; padding-right:20px; padding-left:20px; } . > p { display: table-cell; height: 150px; vertical-align: middle; }..................</style>.................
我想删除<style>
标记及其所有内容。
我试过了
$description = $product_info['description']; // the string with style tag
$text = preg_replace('/<\s*style.+?<\s*\/\s*style.*?>/si', ' ', $description );
echo $text;
但它显示相同的字符串而不删除<style>
标记。
我还尝试通过执行
<style>
标记
$text = str_replace("<style>", "", $description);
但这根本不起作用。我一次又一次地看到同样的字符串。我也尝试了DOMParser
$doc = new DOMDocument();
$doc->loadHTML($description);
$xpath = new DOMXPath($doc);
foreach ($xpath->query('//style') as $node) {
$node->parentNode->removeChild($node);
}
$text = $doc->saveHTML();
但在所有情况下,输出与<style>
及其内容