如何在变量PHP中回显变量

时间:2012-02-02 16:37:14

标签: php

对于某些着陆页模板,代码如下:

<?php
    $Name = 'FOO';
    $Title = 'FooTitle';
    $Date = '00/00/0000';
    $Time = '00:00';
    $Time2 = 'AM';
    $AttendLink = 'http://linktoattend.html';
    $LogoLink = 'http://www.google.com';
    $Logo = 'http://www.domain/images/image.jpg';
    $LWidth = '';
    $LHeight = '';
    $Event = '<p class="indent">foo</p>';
    $List = '<ul>
                 <li>One</li>
                 <li>Two</li>
                 <li>Three</li>
                 <li><strong class="red">As an added bonus:</strong>foo</li>
            </ul>';
    $Offer = '<p class="indent">foo</p>';
    $Presenter = '<p class="indent"><a href="<?php echo $Link ?>">Link!</a></p>';
?>

为简洁起见,关注的领域是这个

<html>
<head>
<title><?php echo $Title ?></title>
</head>

<body>
<p><?php echo $Presenter ?></p>
</body>
</html>

其中变量“$ Presenter”输出“”作为链接。我明白为什么它这样做而不是如何解决它。如何在另一个变量“$ Presenter”中包含变量“$ Link”?是否有更加语义正确的方法来执行此操作?

谢谢

5 个答案:

答案 0 :(得分:2)

试试这个

$Presenter = '<p class="indent"><a href="'.$Link.'">Link!</a></p>';

答案 1 :(得分:2)

您已嵌套<?php ?>个标签。

更改为:

$Presenter = '<p class="indent"><a href="' . $Link . '">Link!</a></p>';

或者

$Presenter = "<p class='indent'><a href='$Link'>Link!</a></p>";

答案 2 :(得分:1)

当您已经在<?php ?>内时,请勿重新开启<?php ?>。而是将变量连接成单引号字符串:

$Presenter = '<p class="indent"><a href="' . $Link . '">Link!</a></p>';

或者,反转引号以在外部使用double,并在内部插入变量。在双引号内,遇到的变量将被插值。如果它是一个复杂变量,如数组$var[1]或对象$obj->property,请将它们包含在{} {$object->property}中。

$Presenter = "<p class='indent'><a href='$Link'>Link!</a></p>";

您确实应该查看PHP Strings documentation,了解有关如何使用这些内容的详细信息。

答案 3 :(得分:1)

我可以推荐阅读“ printf ”:

http://www.php.net/manual/en/function.printf.php

这样你可以在另一个字符串中“包含”另一个变量。

因此,您可以获得配置文件(包含模板内容)和模板文件,其中包含printf。

答案 4 :(得分:1)

我没有看到变量$ Link的定义,但我想说,如果在你调用模板之前定义它,请使用:

<?php
    $Presenter = '<p class="indent"><a href="'.$Link.'">Link!</a></p>';
?>

如果在变量池定义和标记生成之间定义,请执行一个好的旧占位符搜索/替换:

<?php
   $Presenter = '<p class="indent"><a href="{{link}}">Link!</a></p>';
?>

然后

<html>
<head>
<title><?php echo $Title ?></title>
</head>

<body>
<p><?php echo str_replace('{{link}}', $Link, $Presenter); ?></p>
</body>
</html>

注意:我假设您的$ Link变量是干净的,可以直接在标记中注入