2012-03-28 102 views
0

我正在模板化系统上工作。我确实从用户输入了包含html标签和javascript代码的html文档。preg_match全部抓取所有脚本标记内容到数组

我很好用html标签。我只想匹配所有的JavaScript代码,并将其添加到数组以将其加载到页面底部。

我试图使用preg_match机器人不工作发现脚本标记内容。我的代码:

$strPattern = "/<script>[^(<\/script>)]<\/script>/i"; 
    preg_match_all($strPattern, $strReturn, $arrMatches); 
    echo 'matches---'; 
    var_dump($arrMatches); 
    $strReturn = preg_replace($strPattern, '', $strReturn); 

我在想什么?

回答

0

使用PHP DOM文档, http://php.net/manual/en/class.domdocument.php

可以遍历和处理DOM树,并相应地格式化。 与REGEX相比,这会让你的生活更轻松。

+0

它很好,我甚至尝试过。它的工作,但不能取代/清除从源字符串 – KoolKabin 2012-03-28 09:31:48

+0

脚本标记你可以读取节点,然后删除它在这里提到:http://stackoverflow.com/questions/1171597/how-to-remove-an-html -element-using-the-domdocument-class,然后将其附加在文档 – DhruvPathak 2012-03-28 12:43:24

+0

的底部,如果它们不在那里,它也会添加头部,身体和文档类型...我不希望它们 – KoolKabin 2012-03-31 09:51:24