php strip_tags()函數是去除字符串中的 HTML、XML 以及PHP的標簽,返回去除標簽之后的字符串,大家可以參考上一篇文章《PHP去掉HTML標簽strip_tags()函數詳解》,但在使用strip_tags()函數時,有幾個細節要注意一下

strip_tags過濾后,內容丟失

国产视频app使用php strip_tags()函數的時候,如果HTML標簽不完整或者破損,將會導致更多的數據被刪除,大家可以參考下面的例子

例:strip_tags()刪除一段含有不完整HTML標簽字符串

PHP代碼

<?php
$name="<p>string</p>string-1<p><span hello </span></p><p>string-2</p>";
$tags=strip_tags($name,'<p>');
echo $tags;
?>

輸入結果,如下圖

strip_tags()函數使用注意

国产视频app通過查看字符串可得知,字符中含有span標簽出現錯誤,如下圖

strip_tags()函數使用注意

国产视频app我們修改一下代碼再次運行,如下圖,錯誤的位置的代碼已修正

strip_tags()函數使用注意

修正后的代碼:

<?php
//飛鳥慕魚博客
$name="<p>string</p>string-1<p><span> hello </span></p><p>string-2</p>";
$tags=strip_tags($name,'<p>');
echo $tags;
?>

運行結果:

strip_tags()函數過濾空格

strip_tags()不能過濾&nbsp;(空格)

strip_tags()函數,雖然可以過濾HTML標簽,但對于&nbsp;(空格)不能過濾。比如下面的例子

strip_tags()函數過濾HTML空格

<?php
//飛鳥慕魚博客
$str = '哈哈哈&nbsp;&nbsp;&nbsp;飛鳥慕魚博客';
echo strip_tags($str);
?>

輸出結果:

通過下圖,可以清晰的查看到,輸出到瀏覽器中的結果中,函數&nbsp(空格);

php strip_tags()函數使用注意細節

解決strip_tags()不能過濾&nbsp(空格);的方法

可以利用str_replace()函數先去掉&nbsp;,再過濾利用strip_tags()函數過濾HTML標簽,很好的一個小技巧

修改代碼如下:

<?php
//飛鳥慕魚博客
$str = '哈哈哈&nbsp;&nbsp;&nbsp;飛鳥慕魚博客';
echo strip_tags(str_replace('&nbsp;','',$str));
?>

輸出結果如下圖

php strip_tags()函數使用注意細節