[英]php variable inside echo 'html code'
我有php文件index.php
在这个文件中使用我正在做的html代码:
的index.php
echo '
<div>
<a class="fragment" href="">
<div>';
在href我想把一些PHP变量的值,即$url
怎么办?
这是正确的方法吗?
<a class="fragment" href="<?php echo $url; ?>">
您通过结束并再次启动它来连接字符串:
echo '
<div>
<a class="fragment" href="' . $url . '">
<div>';
虽然我个人更喜欢停止PHP标签并重新启动它们(如果我有很多HTML),因为我的IDE不会语法突出显示HTML,因为它是一个字符串:
?>
<div>
<a class="fragment" href="<?php echo $url; ?>">link</a>
</div>
<?php
由于您要打印几行HTML,我建议使用heredoc :
echo <<<HTML
<div>
<a class="fragment" href="$url">
<div>
HTML;
只要您在开头和结尾都使用相同的标记, HTML
就可以是任何内容。 但是,结束标记必须在它自己的行上,没有任何空格或制表符。 有了这个说法,特别是HTML
也有一些好处,一些编辑(例如VIM)识别它并在文本上应用HTML语法着色,而不仅仅是像常规字符串一样对其进行着色。
如果要使用数组或类似数组,可以使用{}
来转义变量:
echo <<<HTML
<div>{$someArray[1]}</div>
HTML;
这样做
<?php
$url='http://www.stackoverflow.com';
echo "<div><a class='fragment' href='$url' /></div>";
如果你直接回复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
如果要维护echo语句,可以执行任一操作
echo '<a class="fragment" href="'.$url.'"><div>';
要么
echo "<a class=\"fragment\" href=\"$url\">";
第一个更适合表演,恕我直言也更具可读性。
如果要使用嵌入变量输入/输出大块HTML,可以使用Heredocs简化过程:
echo <<<_EOI_
<div>
<a class="fragment" href="$url">
<div>
_EOI_;
你不必担心转义引号,不断连接,或者丑陋的进出<?php echo $var; ?>
<?php echo $var; ?>
那人做的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.