此代碼工作了幾個星期,現在返回一個錯誤。有什麼migth發生的任何建議?這似乎PHP腳本中的SED命令(錯誤表達式#1,字符34:前面的正則表達式無效)
... </script> <script type="text/javascript" src=" ...
期望我解析做出細微的變化使我的解析器上嗆網站...
想象一下文件test.html
以下字符串的(不點)字符串轉換
Replace <script type="text/javascript" with <tagkilled
隨着以下PHP代碼
$file = "test.html";
// Destroy javascript codetag
$command='/bin/sed -ri \'s/<script type="text\/javascript"/<tagkilled/g\' '.str_replace(' ','\ ',$file);
exec($command);
返回錯誤信息
/bin/sed: -e expression #1, char 34: Invalid preceding regular expression
圖片的標題說明:在Ubuntu上運行12.10 sed的4.2.1 2010十二月
您將始終易受遠程站點的HTML所做更改的影響。 HTML是不是你可以使用正則表達式([見這裏](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454) )。閱讀PHP的DOMDocument類更強大的解決方案。 – 2013-07-14 09:19:48
上面的代碼準備通過DOM解析器進行解析的文檔。爲了進入頁面的腳本段,我需要刪除腳本標籤。這正是代碼所做的。 – somethis