我有字符串,它豐富的文字內容更好的方式來寫這個逃跑的HTML內容
這樣的事情,例如
<p>Hello</p>
<br/>
<p> Christian </p>
<pre> Don't Know what to do </pre>
現在我想不想腳本存在於上述內容,如果目前esape它
所以如果我有它的內容是這樣的
<p>Hello</p>
<br/>
<p> Christian </p>
<script type="text/javascript"> alert("Hello")</script>
<pre> Don't Know what to do </pre>
需要與
<p>Hello</p>
<br/>
<p> Christian </p>
<script type="text/javascript"> alert("Hello")</script>
<pre> Don't Know what to do </pre>
我當前已開發的正則表達式爲它
所以我的代碼看起來像這樣
if content.match(/<script(.+?)>/) {
content = content.replace(content.match(/<script(.+?)>/)[0],content.match(/<script(.+?)>/)[0].replace("<","<").replace(">",">"))
}
if content.match(/<\script\s*>/)
{
content = content.replace(content.match(/<\/script\s*>/)[0],content.match(/<\/script\s*>/)[0].replace("<","<").replace(">",">"))
}
這樣結果的內容將有腳本標籤逃脫
更換任何人都可以建議我更乾淨的方式來實現這一目標嗎?
HTML sanitisation不是一個簡單的問題:例如,請參閱http://blog.stackoverflow.com/2008/06/safe-html-and-xss/。我建議至少在嘗試編寫自己的代碼之前查看其他代碼。 – 2012-02-28 09:38:01