2017-04-06 3 views
2

検証の実行中にエラーが発生しました。header.phpで振るわないような検証エラー(Stray start tag htmlなど)

f<!DOCTYPE html>↩ 
    <!--[if IE 8 ]><html class="ie ie8 no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> <![endif]-->↩ 
    <!--[if (gte IE 9)|!(IE)]><!--><html class="no-js" lang="en-US" prefix="og: http://ogp.me/ns#"> <!--<![endif]-->↩ 
    <head>↩ 

私は(UTF-8、なしBOM)としてheader.phpのを保存しようとしましたが、私は開始時に非空白文字(「F」)を振るように見えることはできません。ここで

はPHPコード:

<!DOCTYPE html> 
<?php 
/** 
* Theme Header 
* 
* Outputs <head> and header content (logo, tagline, navigation) 
*/ 
?> 
<!--[if IE 8 ]><html class="ie ie8 no-js" <?php language_attributes(); ?>> <![endif]--> 
<!--[if (gte IE 9)|!(IE)]><!--><html class="no-js" <?php language_attributes(); ?>> <!--<![endif]--> 
<head> 

その後、私はここで、「迷のhtml」エラータグで起動するか見当もつかない。 ...自分https://validator.w3.org/nu/?doc=http://wsumc.com/worship/を見てみるとhttp://wsumc.com/worship

+1

(...確かではないほとんどの読者のための超親しみの方法でも)

Parsing HTML documents section of the HTML specは、このすべてがどのように動作するかを定義しますか? 'f'はどこから来たのですか? – chris85

+0

'DOCTYPE'が最初に来なければならないので、' f'を削除してください – JustOnUnderMillions

+0

実際のPHPコードを見せてください。 –

答えて

2

ため

をチェック「ストレイ開始タグhtmlメッセージが先頭にそのfのちょうど別の副作用です。

fは、裸のテキスト(head要素には含めることができない)です。つまり、ドキュメントの本文が開始されており、その後のすべてが本文の一部であることを意味します。したがって、HTMLパーサーがfと表示された場合、パーサーは<body>開始タグを生成します。パーサが見

しかし、次のことは、パーサーは、「ストレイDOCTYPE」を言うと上に移動-SO bodyになりました-which <!DOCTYPE html>です。しかし、次にパーサーが見つける次のものは、bodyにもある<html>開始タグです。パーサーは、"Stray start tag html"と言っています。 PHPはあり

関連する問題