验证PHP生成的HTML代码

时间:2012-11-20 19:47:12

标签: php html validation declaration doctype

我想知道你是否能帮一点点。

首先,我是一名高级初学者,因此请不要对我太过刻意:)

我正在尝试验证我网站上的代码,而且我遇到了令人烦恼的错误,我无法摆脱它。 以下是源代码:

<div id="mainWrapperbackground">
    <div id="allContentbackground">
        <img src="img/banner.png" alt="banner" id="banner">
        <img src="img/left.jpg" alt="leftside" id="left">
        <img src="img/right.jpg" alt="rightside" id="right">
        <img src="img/nav.png" alt="navigation" id="fullnav">
        <img src="img/poleright.png" alt="poleright" id="poleright">
        <img src="img/poleleft.png" alt="poleleft" id="poleleft">
        <img src="img/footer.jpg" alt="footer" id="footerimg">
        <form method="get" action="/search" id="search">
            <input name="index.php?page=recipe1" type="text" size="40" placeholder="Search..." >
        </form>

        <div id="footer">
            <em>Rising Cupcakes | Fairystreet 182st | 4500 Wonderland | Tel. +88 21 45 65</em>
        </div></div></div>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
        <link href="styles.css" rel="stylesheet" />
        <title>Cupcake Lovers</title>
    </head>
    <body>
        <div id="mainWrapper">
            <div id="allContent">
                <div id="mainWrapperbackground"> 
                    <div id="allContentbackground"> 
                        <nav id="global-nav"> 
                            <a href="index.php?page=contact"> <img src="img/contactb.png" alt="contactb" id="contactb"></a> <a href="index.php?page=guestbook"><img src="img/guestbookb.png" alt="guestbookb" id="guestbookb"></a> <a href="index.php?page=newsletter"><img src="img/newsletterb.png" alt="newsletterb" id="newsletterb"></a> <a href="index.php?page=history"><img src="img/historyb.png" alt="historyb" id="historyb"></a> <a href="mailto:cupcake@recipes.dk"><img src="img/maillogo.png" alt="maillogo" id="maillogo"></a> <a href="http://www.facebook.com"><img src="img/fblogo.png" alt="facebooklogo" id="fblogo"></a> <a href="index.php?page=home"><img src="img/homeb.png" alt="homeb" id="homeb"></a> <a href="index.php?page=recipegallery"><img src="img/recipesb.png" alt="recipesbutton" id="recipesb"> </a> 
                        </nav> 
                        <img src ="img/cupcake.png" alt="cupcake" id="cupcake"> 
                        <div id="homehead"> 
                        <h5>Welcome!
                    </h5> 
                </div> 
                <p class="first">Welcome to <b>"Cupcake Lovers"!</b>
                <br>
                    <br> 
                        We have opened this homepage to introduce you to Celina's 6 most famous cupcake recipes.
                        <br> 
                            Celina's recipes follow the principle of being easy to make, beautiful to look at, and delicious to eat!
                            <br> 
                                If like Celina, cupcakes are your passion, then go learn about the history of cupcakes or join our 
                                <br>
                                    newsletter and get updates about what's going on in the world of cupcakes. 
                                    <br>
                                        <br>
                                            Don't forget to sign our guestbook!
                                            <br>
                                                <br>
                                                    Happy baking,
                                                    <br>
                                                        <em>Celina's cupcakes for Cupcake Lovers</em>
                                                        <br> 
                                                            ----------------------------------------------------------------------------------------------------------------------------- 
                                                        </p> 
                                                    </div>
                                                </div>
                                            </body>
                                        </html>

验证员说: 第3行,第1栏:没有文件类型声明;将在没有验证的情况下进行解析(如果我输入此文件,那么它会验证一大堆错误) 第19行,第3列:实例中不允许使用“DOCTYPE”声明 第20行,第6列:文档类型不允许元素“HTML”在这里

但问题是我没有使用像fx这样的任何html标签。在这些文件中,我只是让php文件为我生成它。

我的index.php如下所示:

<?php

include "magic-1.4.php";    
include "background.php";   

$page = new Page(); 
$title = "Cupcake Lovers"; 
$href = "styles.css";
$page->title($title)->css($href); 
$wrapper = html("div")->id("mainWrapper"); 
$content = html("div")->id("allContent");   

$content->append(file_get_contents("views/nav.php"));   

$section = new HtmlElm("section");

$request = new Controller(); 
if($request->has("page")){
    $requestedPage = $request->get("page"); 
}
else{
    $requestedPage = 'home'; 
}

if($requestedPage=="home"){
    $content->append(file_get_contents("views/home.php"));
}   

$wrapper->append($content); 
$page->body($wrapper);

//convert the page object to HTML and echo it to browser echo
$page->asHTML();

所以我的问题是,我做错了什么,因为php生成了3个html页面然后验证真的错了。

1 个答案:

答案 0 :(得分:1)

<!DOCTYPE html>需要是浏览器看到的第一件事,所以它需要先于其他所有内容。 <div id="mainWrapperbackground">需要进入<body>。在此之后,您需要逐个查看验证器显示的错误。