这是我的代码
echo "<div class="navigation"><p><?php posts_nav_link(); ?></p></div> </div><!-- #content -->";
但我收到错误:Parse error: syntax error, unexpected T_STRING, expecting ','
如何更正此代码?
答案 0 :(得分: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
后一种选择在你的观点中更好,imho。
答案 1 :(得分:1)
我认为您只需concatenate
字符串和带点.
的变量,并正确转义双引号\"
echo "<div class=\"navigation\"><p>". posts_nav_link() ."</p></div> </div><!-- #content -->";
//^escape ^ //^concatenate //^concatenate
答案 2 :(得分:1)
1)您可以使用.
。将硬编码字符串连接到函数返回的值
2)你必须逃避字符串中的双引号。
echo "<div class=\"navigation\"><p>" . posts_nav_link() .
"</p></div> </div><!-- #content -->";