繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM