echo变量'html code'里面的php变量

时间:2013-11-04 17:42:15

标签: php html

我有php文件index.php

在这个文件中使用我正在做的html代码:

的index.php

echo '
<div>
<a class="fragment" href="">
<div>';

在href中我想要放一些php变量的值,即$url 怎么办?

这是正确的方法吗?

 <a class="fragment" href="<?php echo $url; ?>">

6 个答案:

答案 0 :(得分:10)

通过结束并再次启动字符串来连接字符串:

echo '
<div>
<a class="fragment" href="' . $url . '">
<div>';

虽然我个人更喜欢停止PHP标签并重新启动它们(如果我有很多HTML),因为我的IDE不会语法突出显示HTML,因为它是一个字符串:

?>
    <div>
        <a class="fragment" href="<?php echo $url; ?>">link</a>
    </div>
<?php

答案 1 :(得分:6)

由于您要打印几行HTML,我建议您使用heredoc

echo <<<HTML
<div>
<a class="fragment" href="$url">
<div>
HTML;
只要您在开头和结尾使用相同的标记,

HTML就可以是任何内容。但是,结束标记必须在它自己的行上,没有任何空格或制表符。话虽如此,特别是HTML也有一些好处,一些编辑(例如VIM)识别它并在文本上应用HTML语法着色,而不仅仅是像常规字符串那样将其整理。

如果要使用数组或类似数据,可以使用{}转义变量:

echo <<<HTML
<div>{$someArray[1]}</div>
HTML;

答案 2 :(得分:2)

喜欢

<?php
$url='http://www.stackoverflow.com';
echo "<div><a class='fragment' href='$url' /></div>";

答案 3 :(得分:2)

如果你直接回复php到html我喜欢这样做

<div><?=$variable?></div>

比编写整个事情要短得多(php echo blah blah)

如果您直接在PHP中编写html,那么有几个选项

$var = '<div>'.$variable.'</div>';   // concatenate the string
$var = "<div>$variable</div>";       // let php parse it for you.  requires double quotes
$var = "<div>{$variable}</div>";     // separate variable with curly braces, also requires double quotes

答案 4 :(得分:1)

如果要维护echo语句,可以执行

echo '<a class="fragment" href="'.$url.'"><div>';

echo "<a class=\"fragment\" href=\"$url\">";

第一个更适合表演,恕我直言也更具可读性。

答案 5 :(得分:1)

如果您想输入/输出带有嵌入变量的大块HTML,您可以使用Heredocs简化流程:

echo <<<_EOI_
<div>
   <a class="fragment" href="$url">
<div>
_EOI_;

您不必担心转义引号,不断连接,或者人们所做的<?php echo $var; ?>内外丑陋。{/ p>