0

这是我的代码

echo "<div class="navigation"><p><?php posts_nav_link(); ?></p></div> </div><!-- #content -->";

但我得到错误:Parse error: syntax error, unexpected T_STRING, expecting ','

如何更正此代码?

4

3 回答 3

7

你有多种选择

转义双引号

你没有逃避你的报价。您的代码认为它""navigation".

echo "<div class=\"navigation\"><p><?php posts_nav_link(); ?></p></div> </div><!-- #content -->";

连接,使用句点或 sprintf()

是的,你可以连接你的字符串。这是一个更好的选择。查看sprintf()

sprintf('<div class="navigation"><p>%s</p></div>', posts_nav_link());

改用单外引号

或者,您可以使用单引号;)

echo '<div class="navigation"><p><?php posts_nav_link(); ?></p></div> </div><!-- #content -->';

最后,最好的方法

最后......你为什么不结束你的PHP,正常编写你的HTML,然后把你的PHP放在它应该在的地方呢?

// your php code...
?>

<div class="navigation">
    <p>
        <?php posts_nav_link(); ?>
    </p>
</div>

<div><!-- Content --></div>

<?php
// Continue your PHP

恕我直言,后一种选择在您看来要好得多。

于 2013-06-14T14:48:06.713 回答
1

我认为你可以只concatenate使用带点的字符串和变量.并正确转义你的双引号\"

echo "<div class=\"navigation\"><p>". posts_nav_link() ."</p></div> </div><!-- #content -->";
                //^escape    ^    //^concatenate     //^concatenate
于 2013-06-14T14:48:02.840 回答
1

1)您可以使用.. 将硬编码的字符串连接到函数返回的值。
2)您必须转义字符串中的双引号。

echo "<div class=\"navigation\"><p>" . posts_nav_link() . 
"</p></div> </div><!-- #content -->";
于 2013-06-14T14:49:56.117 回答