3

我有 php 文件 index.php

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

索引.php

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

在 href 我想输入一些 php 变量的值,即$url 怎么做?

这是正确的方法吗?

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

6 回答 6

12

您可以通过结束字符串并重新开始来连接字符串:

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

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

?>
    <div>
        <a class="fragment" href="<?php echo $url; ?>">link</a>
    </div>
<?php
于 2013-11-04T17:43:39.003 回答
7

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

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

HTML可以是任何东西,只要您在开头和结尾都使用相同的标签。然而,结束标签必须在自己的行上,不能有任何空格或制表符。话虽HTML如此,某些编辑器(例如 VIM)也可以识别它并在文本上应用 HTML 语法着色,而不是像普通字符串那样仅仅着色它。

如果你想使用数组或类似的,你可以{}这样转义变量:

echo <<<HTML
<div>{$someArray[1]}</div>
HTML;
于 2013-11-04T17:47:14.117 回答
3

如果您将 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
于 2013-11-04T17:49:03.187 回答
2

做喜欢

<?php
$url='http://www.stackoverflow.com';
echo "<div><a class='fragment' href='$url' /></div>";
于 2013-11-04T17:44:34.240 回答
1

如果您想维护 echo 语句,您可以执行以下任一操作

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

或者

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

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

于 2013-11-04T17:47:54.807 回答
1

如果你想输入/输出带有嵌入变量的大块 HTML,你可以使用Heredocs来简化这个过程:

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

您不必担心转义引号、不断连接或<?php echo $var; ?>人们所做的丑陋的进出。

于 2013-11-04T17:49:50.550 回答