迷路开始标记a

时间:2014-09-25 02:40:22

标签: php html wordpress validation

我目前正在使用validator.w3,我遇到了这种错误:

Line 90, Column 1420: Stray start tag a.
…-home menu-item-18"><a href="http://www.perthtakeaways.info/">Home</a></option>
✉
Error Line 90, Column 1428: Stray end tag a.
…-home menu-item-18"><a href="http://www.perthtakeaways.info/">Home</a></option>
✉
Error Line 91, Column 180: Stray start tag a.
…enu-item-33"><a href="http://www.perthtakeaways.info/about/">About</a></option>
✉
Error Line 91, Column 189: Stray end tag a.
…enu-item-33"><a href="http://www.perthtakeaways.info/about/">About</a></option>
✉
Error Line 92, Column 200: Stray start tag a.
…="http://www.perthtakeaways.info/getting-started/">Getting Started</a></option>
✉
Error Line 92, Column 219: Stray end tag a.
…="http://www.perthtakeaways.info/getting-started/">Getting Started</a></option>
✉
Error Line 93, Column 190: Stray start tag a.

此错误来自nav.php导航菜单nav.php:

<nav id="nav" role="navigation" class="col_4 omega">
    <?php
    $menu = wp_nav_menu(
            array('topmenu' => 'Top Menu', 'fallback_cb' => 'purepress_nav_fallback', 'echo'=>0 )
    );

    $menu = str_replace("\n", "", $menu);
    $menu = str_replace("\r", "", $menu);

    echo $menu;

    ?>
    <?php
    wp_nav_menu(array(
            'mobilemenu' =>'Mobile Menu',
            'walker'         => new Walker_Nav_Menu_Dropdown(),
            'items_wrap'     => '<select id="mobile-nav"><option value="/">Select Page</option>%3$s</select>',
    ));
?>
</nav><!-- #nav -->

因为wp-menu是由wordpress代码自动生成的,所以这是validator.w3中显示的内容来自wp_menu_template.php:

错误结束标记错误的代码是:

<div><ul id="menu-main-menu" class="menu"><li id="menu-item-18" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-18"><a href="http://www.perthtakeaways.info/">Home</a></li><li id="menu-item-33" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-33"><a href="http://www.perthtakeaways.info/about/">About</a></li><li id="menu-item-36" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-36"><a href="http://www.perthtakeaways.info/getting-started/">Getting Started</a></li><li id="menu-item-34" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-34"><a href="http://www.perthtakeaways.info/contact-us/">Contact Us</a></li><li id="menu-item-35" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-35"><a href="http://www.perthtakeaways.info/faqs/">FAQs</a></li><li id="menu-item-102" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-102"><a title="Member&#8217;s Login" href="http://www.perthtakeaways.info/wp-login.php">Login</a></li></ul></div> <select id="mobile-nav"><option value="/">Select Page</option><option value="http://www.perthtakeaways.info/" class="menu-item menu-item-type-custom menu-item-object-custom current-menu-item current_page_item menu-item-home menu-item-18"><a href="http://www.perthtakeaways.info/">Home</a></option>

这段代码来自wp_menu_template.php,我很好奇为什么会出现这个错误?我认为代码没有问题,因为它是由wordpress自动生成的。

1 个答案:

答案 0 :(得分:2)

问题是您正在使用PHP代码并将其放入验证器中。这是不正确的。

PHP代码应该在Web服务器上运行以生成HTML。生成的HTML可以输入验证器。一种方法是在HTML验证器http://validator.w3.org/中输入PHP网页的URL,或者您可以保存生成的HTML并使用该验证器中的“通过直接输入验证”。