2015-06-01 53 views
0

剝離的JavaScript我想刪除所有與PHP字符串的javascript發現,我試圖做到這一點低谷preg_replace這樣的:$text = preg_replace("/<script.*<\/script>/mis", "", $text);正則表達式在PHP

但這樣做之後,$文本是一個空字符串。我做錯了什麼?在http://www.phpliveregex.com/上試用這個正則表達式似乎可行,但在現實生活中使用它卻沒有任何回報。

+1

嘗試'$ text = preg_replace(「/ /mis」,「」,$ text);' –

+0

這似乎有效,謝謝!你是否會關心爲什麼額外的問號解決了問題?正則表達式是我似乎無法完全理解開發的一個幻想。 –

回答

1

通常情況下,您不只是想要移除(轉義)javascript,而是各種可防止您受到漏洞攻擊的HTML標記。你可以這樣做,用 http://docs.php.net/manual/en/function.htmlspecialchars.phphttp://docs.php.net/manual/en/function.htmlentities.php

然後你沒有完全用正則表達式來打擾。

+0

這是逃避他們,我需要刪除他們。我將郵件正文編入Amazon CloudSearch並進行壓縮(因爲我不需要在索引中搜索javascript,只有郵件的文本),我需要將它們全部刪除。還有很多郵件在正文上都有CDATA信息,並且在解析XML時給我帶來了很多麻煩。 –