【发布时间】:2014-04-28 16:50:59
【问题描述】:
想知道是否有其他人遇到过这个问题以及他们是否找到了解决方案。
我有一个使用 QueryPath 的 htmlqp() 方法解析网页(我无法控制)的应用程序。
我遇到的问题是,任何时候解析的页面恰好有一个内联 <script> 标记,其中包含一些 javacript,其中还引用了某种 HTML 字符串,QueryPath 的 @987654323 @ 方法试图通过在 javascript 中添加换行符、关闭标签和其他废话来“修复”HTML,这反过来又破坏了页面上的所有 javascript(在某些情况下,HTML)。
例如:
<script>
var $jQ = jQuery.noConflict();
// Use jQuery via $jQ(...)
$jQ(document).ready(function(){
$jQ("#mktFrmSubmit").wrap("<div class='buttonSubmit'></div>");
$jQ(".buttonSubmit").prepend("<span></span>");
});
</script>
-变成-
<script>
var $jQ = jQuery.noConflict();
// Use jQuery via $jQ(...)
$jQ(document).ready(function(){
$jQ("#mktFrmSubmit").wrap("<div class='buttonSubmit'></script>
</div>");
$jQ(".buttonSubmit").prepend("<span></span>");
});
显然,后者明显破裂。
有谁知道如何阻止 QueryPath 这样做?或者也许让它忽略 <script> 标签正文中的一般内容?
谢谢。
【问题讨论】:
标签: php html-parsing querypath