PHP内部回声

时间:2013-06-14 14:47:15

标签: php html echo

这是我的代码

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

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

如何更正此代码?

3 个答案:

答案 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 -->";