2012-02-02 39 views
0

对于一些登陆页面模板呼应的变量有这样的代码:如何在一个变量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”中包含变量“$ Link”?有没有更正确的方法来做到这一点?

谢谢

+0

HTML和PHP代码是如何连接的?他们在同一个文件中? – 2012-02-02 16:38:10

+2

您必须执行*字符串连接*。 – 2012-02-02 16:41:57

+0

@Pekka是的,他们在同一个文件 – 2012-02-02 16:43:08

回答

2

你嵌套<?php ?>标签。

更改为:

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

或者

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

Thx Laxman13!很多很好的答案,我非常感谢大家的帮助。真棒社区。我将按照Felix Kling的建议阅读字符串连接。 – 2012-02-02 16:50:59

1

不要重新<?php ?>当你已经内部<?php ?>。相反串连变量为单引号的字符串:

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

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

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

您真的应该查看PHP Strings documentation了解如何使用这些细节。

2

试试这个

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

我看不到规定的变量$链接被定义在哪里,但我会说,如果你调用之前定义的模板可言,用途:

<?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变量是干净的,直接注入标记