我在PHP中使用了一些HTML作为字符串,我使用了$html_str= html_entity_decode()
。所以HTML的样本现在看起来像这样:
echo $html_str; // <p>This is <span class='some_class'>some</span> text, yeah!<br>Hello world.</p>
当我这样做时:
$html_str= strip_tags($html_str, '<p>');
echo $html_str; // This is some text, yeah!Hello world.
它会删除包含<p>
标记的所有标记。
但如果我这样做:
$html_str= strip_tags($html_str, '<br>');
echo $html_str; // <p>This is some text, yeah!<br>Hello world.</p>
它会删除<span>
代码并离开<br>
和<p>
。
这里发生了什么?
答案 0 :(得分:0)
第二个参数$allowable_tags
说明允许使用哪些标记:
<?php
$html_str = "<p>This is <span class='some_class'>some</span> text, yeah!<br>Hello world.</p>";
echo strip_tags($html_str, '<p>') . "\n";
echo strip_tags($html_str, '<br>') . "\n";
输出是:
<p>This is some text, yeah!Hello world.</p>
This is some text, yeah!<br>Hello world.
正如所料。
对我来说最可能的解释是,你的字符串中没有<br>
,但其他东西(HTML标签是否编码?)。