XHTML 1.0验证 - PHP代码行引发错误。为什么?如何解决?

时间:2017-10-06 13:29:33

标签: php xhtml w3c-validation

我正在使用PHP开展学校项目,我的网页必须通过XHTML 1.0验证。

以下代码行引发错误。

<img src="<?php echo './img/'. dayOfWeek(). '.png'?>" alt="<?php echo dayOfWeek() ?>" />
  

错误第116行,第18列:未转义&#39;&lt;&#39;属性值中不允许

<img src="<?php echo './img/'. dayOfWeek(). '.png'?>" alt="<?php echo d…

✉
     

错误第116行,第18列:属性构造错误

<img src="<?php echo './img/'. dayOfWeek(). '.png'?>" alt="<?php echo d…

✉
     

错误第116行,第18列:无法找到开始标记img第116行的结尾

<img src="<?php echo './img/'. dayOfWeek(). '.png'?>" alt="<?php echo d…

对于为什么会发生这种情况以及如何解决问题的任何建议都将非常感激。

1 个答案:

答案 0 :(得分:-1)

错误处理很重要。希望这个基于成熟的实时平台的代码可以帮到你。

<?php
error_reporting(E_ALL);

//No errors if live, outputs errors if local testing.
ini_set('display_errors', substr($_SERVER['HTTP_HOST'],0,4)=='www.' ? 0 : 1);

//Use an include and put the error handling function there.
set_error_handler('error_handle');

function error_handle($errno,$errstr,$errfile,$errline)
{
 //Quick dump.
 //You should store all errors (HTTP, JavaScript, PHP and SQL) in logs.
 echo '<div><p>errno = '.$errno.'</p></div>';
 echo '<div><p>errstr = '.errstr.'</p></div>';
 echo '<div><p>errfile = '.$errfile.'</p></div>';
 echo '<div><p>errline = '.$errline.'</p></div>';
}
?>

通过提供正确的mime标头,确保您的XHTML XHTML:

<?php
if (stristr($_SERVER['HTTP_ACCEPT'],'application/xhtml+xml'))
{
 $mime = 'application/xhtml+xml; charset=UTF-8';
}
else
{
 $mime = 'text/html; charset=UTF-8';//Not UTF-8 string for IE6 but no longer valid 2010+.
}

header('Content-Type: '.$mime);
?>

如果您想进一步了解XHTML5(使用XML解析器的HTML5),请在我的个人资料中查看我的网站;它是一个使用这种获胜组合的整个网络平台。祝你好运!