我有php文件index.php
在这个文件中使用我正在做的html代码:
的index.php
echo '
<div>
<a class="fragment" href="">
<div>';
在href中我想要放一些php变量的值,即$url
怎么办?
这是正确的方法吗?
<a class="fragment" href="<?php echo $url; ?>">
答案 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>