Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php w3validator API-测试XHTML1 DOCTYPE_Php_Email_W3c_W3c Validation_Xhtml 1.0 Strict - Fatal编程技术网

Php w3validator API-测试XHTML1 DOCTYPE

Php w3validator API-测试XHTML1 DOCTYPE,php,email,w3c,w3c-validation,xhtml-1.0-strict,Php,Email,W3c,W3c Validation,Xhtml 1.0 Strict,我正在用PHP构建一个时事通讯生成器,我的要求之一是,一旦电子邮件以HTML格式编写,就会检查它是否符合w3标准,如果在验证运行中发现任何无效错误,就会向最终用户发出通知 目前,我通过PHP Curl请求使用w3validator API,如下所示: 我的问题是,我似乎无法让验证器使用XHTML1 doctype来处理html内容。默认情况下,它希望看到HTML5 doctype,尽管可以设置查询字符串参数(“解析器”),但我能够测试的最低版本似乎是HTML4 我还尝试将'parser'参数保留

我正在用PHP构建一个时事通讯生成器,我的要求之一是,一旦电子邮件以HTML格式编写,就会检查它是否符合w3标准,如果在验证运行中发现任何无效错误,就会向最终用户发出通知

目前,我通过PHP Curl请求使用w3validator API,如下所示:

我的问题是,我似乎无法让验证器使用XHTML1 doctype来处理html内容。默认情况下,它希望看到HTML5 doctype,尽管可以设置查询字符串参数(“解析器”),但我能够测试的最低版本似乎是HTML4

我还尝试将'parser'参数保留为空,并使用值'html',这应该使验证器使用html内容中的doctype集进行验证,但这也不起作用


是否可以使用W3API标准来验证XHTML1的有效性?如果没有,是否有一个替代API允许我们这样做?

这里是W3C HTML检查器(验证器)的维护者

要根据XHTML1模式检查文档,您需要发送:

  • 值为
    http://s.validator.nu/xhtml10/xhtml-strict.rnc
  • 带有值
    application/xhtml+xml的
    Content-Type
    标题;字符集=utf-8
例如,使用
curl
发送请求,如下所示:

curl-H“内容类型:应用程序/xhtml+xml;字符集=utf-8”\
--data binary@FILE.xhtml\
'https://validator.w3.org/nu/?schema=http://s.validator.nu/xhtml10/xhtml-strict.rnc&out=json'
…其中,
FILE.xhtml
被替换为您想要检查的实际文件的名称,并且
out=json
query参数指定您想要来自检查程序的json格式的结果。(如果需要xml格式的结果,请使用
out=xml
,如果需要gnu错误格式的结果,请使用
out=gnu
。)

http://s.validator.nu/xhtml10/xhtml-strict.rnc
只是检查器内部识别的XHTML 1.0严格模式的标识符。在该URL处,Web上没有实际的架构

检查者识别的此类标识符列表位于以下文件中:

请注意,您可以通过向
模式
值添加其他标识符来包括一些附加检查:

curl-H“内容类型:应用程序/xhtml+xml;字符集=utf-8”\
--data binary@FILE.xhtml\
'https://validator.w3.org/nu/?schema=http://s.validator.nu/xhtml10/xhtml-严格。rnc%20http://s.validator.nu/html4/assertions.sch%20http://c.validator.nu/all-html4/&out=json'

架构标识符必须用
%20
(编码空格百分比)分隔。

此处是W3C HTML检查器(验证程序)的维护者

要根据XHTML1模式检查文档,您需要发送:

  • 值为
    http://s.validator.nu/xhtml10/xhtml-strict.rnc
  • 带有值
    application/xhtml+xml的
    Content-Type
    标题;字符集=utf-8
例如,使用
curl
发送请求,如下所示:

curl-H“内容类型:应用程序/xhtml+xml;字符集=utf-8”\
--data binary@FILE.xhtml\
'https://validator.w3.org/nu/?schema=http://s.validator.nu/xhtml10/xhtml-strict.rnc&out=json'
…其中,
FILE.xhtml
被替换为您想要检查的实际文件的名称,并且
out=json
query参数指定您想要来自检查程序的json格式的结果。(如果需要xml格式的结果,请使用
out=xml
,如果需要gnu错误格式的结果,请使用
out=gnu
。)

http://s.validator.nu/xhtml10/xhtml-strict.rnc
只是检查器内部识别的XHTML 1.0严格模式的标识符。在该URL处,Web上没有实际的架构

检查者识别的此类标识符列表位于以下文件中:

请注意,您可以通过向
模式
值添加其他标识符来包括一些附加检查:

curl-H“内容类型:应用程序/xhtml+xml;字符集=utf-8”\
--data binary@FILE.xhtml\
'https://validator.w3.org/nu/?schema=http://s.validator.nu/xhtml10/xhtml-严格。rnc%20http://s.validator.nu/html4/assertions.sch%20http://c.validator.nu/all-html4/&out=json'

架构标识符必须用
%20
(百分比编码空格字符)分隔。

发送什么内容类型?发送什么内容类型?