我有 php 文件 index.php
在这个文件中使用我正在做的html代码:
索引.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 直接回显到 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
做喜欢
<?php
$url='http://www.stackoverflow.com';
echo "<div><a class='fragment' href='$url' /></div>";
如果您想维护 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; ?>
人们所做的丑陋的进出。