在PHP中对W3C Validator进行提交验证的解决方案?

时间:2010-10-07 10:42:39

标签: php post submit w3c w3c-validation

要使用W3C验证器,您的(即beta-)网站通常必须在线,我宁愿避免。或者使用直接输入法。跟连续复制打招呼&糊。

我的想法:

“直接输入法”将输入作为表格提交(这里不足为奇)。 换句话说:实际验证页面收到POST请求。

所以:我是否可以建立一个链接(即在我的标准页脚中),导致本地的submitForValidation.php(而不是定期链接到validator.w3.org)

在那个php文件中我会......

  • 抓住它刚刚来自的Referer-URL(是的,在PHP'curling'本地主机服务器......)
  • 将其作为POST请求的正文提交到W3C页面:http://validator.w3.org/check

这可行吗?有人做过这个解决方案吗?

3 个答案:

答案 0 :(得分:1)

我仍然不清楚你要做什么。如果要通过操作POST数据进行直接输入验证,可以在localhost上安装w3c标记验证器 ,然后根据需要进行修改。请参阅安装文档here

答案 1 :(得分:0)

如果您想验证XHTML或HTML页面,可以使用

如果你想确保它有效,你也可以通过ob_tidyhandler运行它,但请注意,由于每次服务都要检查和修复缓冲区,这会导致一些性能损失。

答案 2 :(得分:0)

如果Web开发人员工具栏提供的内容(它基本上与您计划做的事情相同)将不适合您,您建议您自己听起来像是对我来说最好的解决方案。使用CURL将当前生成的PHP文件的内容POST到W3C的服务。

您甚至可以使用output buffering来获取当前页面的内容,通过验证程序运行它们,如果发生任何错误,请将信息粘贴到生成的HTML中的占位符中。 (所有这些都在“调试模式”中,或者如果设置了cookie或存在GET参数,或类似的东西。)

但艰巨的任务是解析结果页面。我认为以数组或XML结构返回消息的本地验证包将更容易处理。但是,DOMDocument的Validate有一个缺点,它没有提供有关问题的任何细节,所以它必须是别的。