PHP 如何让浏览器直接输出html代码而不解析!

技术文档 - php相关

2019-11-24

 暂无演示  

针对上一编文章:PHP删除html标签,以及删除标签内容,strip_tags函数升级版方法!

有些人总是问我为什么输出的跟我文章提供的不一样。

那是因为浏览器解析了字符串中的html代码,所以不一样。

那么在今天提供几个方法给大家,可让浏览器直接输出html码。


 通过转义特殊字符,从而达到效果

1、把标签的 < 替换成 &lt;

2、把标签的 > 替换成 &gt; 

这样就不会被解析了,当然如果你还要转义其他的字符也行的。

写法1:

$str = '<div><p>P标签</p><img src="" alt="img标签"><a href="">这里是A标签</a><br></div>';

$str = str_replace('<', '&lt;', $str);
$str = str_replace('>', '&gt;', $str);
echo $str;

写法2:

$str = '<div><p>P标签</p><img src="" alt="img标签"><a href="">这里是A标签</a><br></div>';

$str = str_replace(array('<', '>'), array('&lt;', '&gt;'), $str);
echo $str;

写法3:

$str = '<div><p>P标签</p><img src="" alt="img标签"><a href="">这里是A标签</a><br></div>';

$replace = array(
        '<' => '&lt;',
        '>' => '&gt;'
    );
echo strtr($str, $replace);


 放入<xmp></xmp>标签中,从而达到效果

function showHtml($data){
    echo '<xmp>';
    print_r($data);
    echo '</xmp>';
}

$str = '<div><p>P标签</p><img src="" alt="img标签"><a href="">这里是A标签</a><br></div>';
showHtml($str);