php strip_tags 少,詳解PHP函數 strip_tags的用法不足之處

這篇文章主要介紹了詳解PHP函數 strip_tags 處理字符串缺陷bug的相關資料,需要的朋友可以參考下

詳解PHP函數 strip_tags 處理字符串缺陷bug

PHP 函數 strip_tags() 是一個常用函數,該函數可以剝去字符串中的 HTML、XML 以及 PHP 的標簽。極大方便了對字符串的操作,但是 strip_tags() 函數存在缺陷bug,由于 strip_tags() 無法驗證 HTML 不完整或者破損標簽將導致更多的數據被刪除。

例子:

$str = '

string

stringhello

string

';

echo strip_tags($str, '

');

輸出:

string

string

通過 strip_tags 函數過濾 標簽,其實我希望得到下面這個結果:

string

stringstring

導致我們未能得到所期望的結果,其實是因為字符串中第三個 string 左邊那個尖括號,strip_tags 函數誤刪除了其他字符。

經過查找 PHP 相關文檔發現 strip_tags 函數 有一個警告:由于 strip_tags() 無法實際驗證 HTML,不完整或者破損標簽將導致更多的數據被刪除。

既然不能驗證 HTML 標簽完整性,遇到字符串中包含“”導致誤刪字符串中其他字符。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/538915.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/538915.shtml
英文地址,請注明出處:http://en.pswp.cn/news/538915.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

玩轉Android之MVVM開發模式實戰,炫酷的DataBinding!

原文:http://blog.csdn.net/u012702547/article/details/52077515 --------------------------------------------------------- MVP可以結合android的DataBinding -------------------------以下轉載--------------- C# 很早就有了MVVM的開發模式,An…

打造一款便攜版的Sublime Text

https://segmentfault.com/a/1190000000707661 https://www.cnblogs.com/52cik/p/sublime-diy.html 直接安裝Sublime Text,不要打開 大家可以參照上文提到的《Sublime Text 全程指引》中的步驟去進行安裝。我這里使用的是Sublime Text 2,其實3也是一樣的…

confluence創建頁面加載緩慢_樹莓派4B使用docker安裝confluence

說明confluence是一個專業的企業知識管理與協同軟件,可以用于構建企業wiki。通過它可以實現團隊成員之間的協作和知識共享。現在大多數公司都會部署一套confluence,用作內部wiki。另外confluence也可以作為個人的知識管理工具來用,只需要花10…

python用map提取一個數的個十百位數_如何使用python中的map函數?

我們在使用python過程中,為了避免錯誤刪除,會選擇做好一個序列后可以插入另外的序列中做為新序列的一部分內容。方便完成一些復雜的工程或多個片段分別編輯后再串成一個完整工程的操作。之前小編向大家介紹了在序列中起到累計作用的reduce函數(https://w…

matlab粒子加速器仿真,粒子群算法優化PID參數 仿真不出結果 程序如下

用的是《MATLAB智能算法30個案例分析》中的程序1.文件名為PSO_PID.mfunction z PSO_PID(x)assignin(base,Kp,x(1)); % 粒子群依次賦值給Kp 這部分運行結果> PSO_PIDassignin(base,Ki,x(2)); …

CentOS5、6的啟動流程

CentOS5/6的啟動流程啟動流程畫了張圖,看著更清晰些: (centos7的啟動流程變化挺大的,這部分待補充)補充(/etc/rc.d/rc.local 不屬于任何服務,為特殊文件,可將不能定義為服務又想開機運行的命令定義在此文件中)添加自定義服務:[rootel5 init.d]# vi /etc/init.d/testsrv #!/bin…

Spark交互式分析平臺Apache Zeppelin的安裝

Zeppelin介紹 Apache Zeppelin提供了web版的類似ipython的notebook,用于做數據分析和可視化。背后可以接入不同的數據處理引擎,包括Spark, Hive, tajo等,原生支持Scala, Java, shell, markdown等。它的整體展現和使用形式和Databricks Cloud是…

win7 php zend,win7系統打開WZend Studio PHP出錯的解決方法

很多朋友安裝win7系統后,在使用的過程中會遇到win7系統打開WZend Studio PHP出錯的情況,可能有很多用戶還是不能自己處理win7系統打開WZend Studio PHP出錯的問題,其實簡單的來說處理win7系統打開WZend Studio PHP出錯的問題只需要按照 1、在…

9個元素換6次達到排序序列_C語言必學的12個排序算法:希爾排序(第3篇)

基本思想希爾排序(Shells Sort),以發明人命名,又稱為縮小增量排序,也是一種插入排序算法。主要思想:直接插入排序算法時間和待排數據有關,其平均復雜度是O(n^2),但是在待排數據已經有…

java快捷鍵禁用_pycharm 掌握這些快捷鍵,你就是大神!!

最重要的快捷鍵1. ctrlshiftA:萬能命令行 2. shift兩次:查看資源文件新建工程第一步操作1. module設置把空包分層去掉,compact empty middle package 2. 設置當前的工程是utf-8,設置的Editor-->File Encodings-->全部改成utf-8,注釋1. ctrl/:單行注釋光標操作1. ctrlalte…

如何在 5 分鐘內讀懂區塊鏈的架構思維?

作為入門者,如何在最短的時間了解區塊鏈技術,區塊鏈思維,以及比特幣的金融原理呢?本文嘗試從比特幣的架構設計思維出發,讓人從宏觀上搞清楚區塊鏈的技術本質。 本文授權轉載自阿里技術 作者 | 鄭吉 區塊鏈不是一種技術…

魅族Flyme5.x以上系統INSTALL_FAILED_SHARED_USER_INCOMPATIBLE

用android studio 連接魅族flyme5.0安裝app,報 Installation error: INSTALL_FAILED_SHARED_USER_INCOMPATIBLE 解決方法: 1、進入手機管家 2、權限管理 3、usb安裝管理 4、關閉 完美解決問題

php取key的value值,獲取數組中key和value的值

方法1:PHP 4 引入了 foreach 結構,和 Perl 以及其他語言很像。這只是一種遍歷數組簡便方法。foreach 僅能用于數組,當試圖將其用于其它數據類型或者一個未初始化的變量時會產生錯誤。有兩種語法,第二種比較次要但卻是第一種的有用…

arduino 上傳項目出錯_Arduino多核編程:簡單例子

不管你是Arduino領域的新手還是經驗豐富的開發人員,很可能你還只使用過單核在進行編程。 這沒有什么好笑的---- 事實上,直到幾天前我才使用Arduino IDE進行了第一次多核編程。 我和所有其他Arduino粉絲都非常喜歡IDE的易用性以及MicroController 開發所需…

Hadoop-RPC應用demo

Hadoop里的rpc框架可以單獨拿出來使用。jar包全在hadoop-common工程里。 導入hadoop-common工程里(hadoop-2.7.3為例): hadoop-common-2.7.3.jar \hadoop-2.7.3\share\hadoop\common\lib下的全部jar包 實例 rpc.client 客戶端 rpc.pr…

php 變量 可用拼音表示,php漢字轉拼音的示例

. 代碼如下:class Helper_Spell{public $spellArray array();static public function getArray() {return unserialize(file_get_contents(pytable_without_tune.txt));}/*** desc 獲取字符串的首字母* param $string 要轉換的字符串* param $isOne 是否取首字母* param $uppe…

Opencv-Python:圖像尺寸、圖像的讀取、顯示、保存與復制

Opencv-Python:圖像尺寸、圖像的讀取、顯示、保存與復制 原創 2017年11月23日 21:30:494440在使用opencv的方法時,首先必須導入opencv包。新的opencv導入cv2,這里也和cv做了一個對比 [python] view plaincopy import cv2 一、圖像尺寸 圖像的…

寶塔面板服務器ip地址修改_「網站」快速搭建服務器環境及網站

目錄:「NAS」我的搭建NAS全過程在文章開頭我想說明的是,此文章中所使用的工具為 BT 面板即寶塔面板,適合小白使用但是對于想要提升個人能力來說, BT 面板并不是一個好選擇,而作為新手來說,可以使用該面板進…

redis啟動報錯-磁盤滿了

imjournal: fopen() failed for path: ‘/var/lib/rsyslog/imjournal.state.tmp’: Structure needs cleaning [v8.24.0-57.el7_9.1 try http://www.rsyslog.com/e/2013 ] 1.查看服務狀態 systemctl status rsyslog 2.嘗試重啟服務 systemctl restart rsyslog 3.查看分區占用情…

楊輝三角python_Python面試150題匯總,都是常問的面試題!

周末,Python面試題每日一題暫停更新,下面把最近整理的1-50篇Python面試文整理一下,平時文章都放在比較末尾,閱讀量都不高,相信很多人都沒看過,如果對于Python感興趣的,建議可以認真閱讀一下&…