2010-01-24 82 views
0

我的页面上只有XML Parsing Error: EntityRef: expecting ';'错误,因为开发人员在链接中使用了不正确的&符号。替换为&&的网址

而不是要求他使用&而不是&,我怎样才能替换那些页面加载后使用jQuery?

编辑:啊,权利,验证者读取源,所以它不会工作。有没有其他方法来过滤HTML并清除这些愚蠢的错误?

谢谢!

+1

当然“开发者”不只是你吗? :)使用一个体面的texteditor并做一个“查找和替换”。或者只是转储XHTML并使用HTML。 – BalusC 2010-01-24 07:18:32

+0

是的,我不是开发者。我喜欢验证结果页面上的绿色! :)这是一个JSP应用程序中的模板文件。 – 3zzy 2010-01-24 07:21:14

+1

JSP?你以前应该告诉过你的。使用JSTL''和/或''。它自动转义HTML实体并分别对URL进行编码 – BalusC 2010-01-24 07:23:19

回答

2

这不会在Javascript中起作用,您真的需要在服务器端解决这个问题。

根据评论,您正在使用JSP。您可以使用JSTL(只需在/WEB-INF/lib中删除jstl-1.2.jar<c:out><c:url>这个标签。

<c:out>默认转义HTML实体<>&"'<c:url>可以与<c:param>结合使用,默认情况下它会对查询参数进行编码。

0

jQuery不会帮助解决验证错误。实际上,验证器甚至不运行JavaScript。

+0

验证器读取源码,​​对啊! – 3zzy 2010-01-24 07:17:09

0

页面加载和解析后,您将无法更正解析错误。唯一正确的解决方案是在服务器端进行更换。

1

替换页面的文本内容将对验证结果毫无影响,因为验证程序不会执行脚本。它仍然会看到获取文档的原始内容。

如果您仍然想要验证以外的原因,可以尝试类似this plugin

0

即使您可以在jQuery中修复它们,该页面已经被该点处理,错误仍然会被抛出。你最好做一个全球搜索&并手动替换它们。

+0

是的,但我不知道用于替换的正则表达式,并且仅在链接中且仅在href属性中用&替代。 – 3zzy 2010-01-24 07:19:13

+0

这就是为什么我说'手动'替换它们。 :)我确信有这样的正则表达式。如果不知道你的编辑器和它的限制,我想传达修复它在服务器上的一般想法。 – 2010-01-24 07:31:10