16
我正在嘗試從HTML中刪除JavaScript。PHP刪除JavaScript
我無法使用正則表達式來使用PHP;它給了我一個空數組。爲什麼?
<?php
$var = '
<script type="text/javascript">
function selectCode(a)
{
var e = a.parentNode.parentNode.getElementsByTagName(PRE)[0];
if (window.getSelection)
{
var s = window.getSelection();
if (s.setBaseAndExtent)
{
s.setBaseAndExtent(e, 0, e, e.innerText.length - 1);
}
else
{
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
}
else if (document.getSelection)
{
var s = document.getSelection();
var r = document.createRange();
r.selectNodeContents(e);
s.removeAllRanges();
s.addRange(r);
}
else if (document.selection)
{
var r = document.body.createTextRange();
r.moveToElementText(e);
r.select();
}
}
</script>
';
function remove_javascript($java){
echo preg_replace('/<script\b[^>]*>(.*?)<\/script>/i', "", $java);
}
?>
我想更好地利用一些適當的庫來殺死那些
這可能做的比你想多了,而是根據自己的情況你可能想看看
strip_tags
。來源
2009-12-11 09:21:45 deceze
在你的情況,你可以把字符串作爲換行符的列表分隔字符串,並刪除包含腳本標籤(第一&倒數第二)的線,你甚至不會需要定期表達式。
雖然如果你想要做的是防止XSS它可能不足以僅刪除腳本標記。
來源
2009-12-11 09:49:11 tosh
非常感謝您的建議,但是我正在做的是創建一個開膛手,這是我的班級代碼所需要的,謝謝你們! – Saxtor 2009-12-11 10:09:42
這裏有一個想法
來源
2009-12-11 21:44:23
我用這個:
來源
2011-03-27 15:49:03
不適用於我 – 2012-03-01 11:21:12
來源
2013-02-20 08:21:01
您介意評論/描述您的解決方案嗎? – 2013-02-20 08:44:24
歡迎評論 – 2013-02-20 19:17:29
這對我來說是非常有用的。試試這個代碼。
來源
2014-06-14 05:18:46