我想從輸入字符串中清除<
和>
個字符,以便使其「Web安全」並避免腳本注入惡作劇。從字符串剝離HTML標籤時注意什麼?
我知道strip_tags()可用於這一點,但是這將導致一個字符串,如這樣的:
We are looking at counts < 5000 for this test run
被截斷爲:
We are looking at counts
。
我想將它轉換爲:
We are looking at counts 5000 for this test run
這不是完美的,但在字符串中較少的信息丟失的方式。
我知道這可以用例如正則表達式來實現,但是這是以什麼方式不安全?我的意思是,strip_tags()對字符串做了一些特殊的處理,只是刪除了<>
不會執行的正則表達式。
我現在不想使用htmlentities(),因爲這會混淆我們的前端代碼。
這並不直接回答你的問題,但你可能也想看看[htmlentities](http://php.net/manual/en/function.htmlentities.php)。 – CompuChip
@CompuChip我認爲使用'htmlentities()'而不是僅僅刪除'<'是更好的解決方案。或者只是使用'$ convertedBracketStr = str_replace(array('<', '>'),array('>','<'),$ str);' – TiMESPLiNTER
*正則表達式:/ <[A-z\/][^> *> /它會找到任何<>然後結束> –