我正在尝试将变量(在这种情况下是用户的IP变量)传递到URL中,因此当它显示在Web上时,它是一个自动链接。下面是我的代码,我收到了一个错误。求PHP大师帮助n00b。
$user_tracking_vars = "<br /><br /><strong>Browser and Operating System:</strong> ".$browser."<br /><br /><strong>IP:</strong> <a href=""http://urbangiraffe.com/map/?ip=".$ip."&from=drainhole"">".$ip."</a><br /><br /><strong>Page Visited Before Contact Form:</strong> ".$referred."<br />";
答案 0 :(得分:3)
您似乎错误地使用类似Basic(href=""...""
)语法转义引号。 PHP中的转义字符是反斜杠(href=\"...\"
)。
$user_tracking_vars = "<br /><br /><strong>Browser and Operating System:</strong> ".$browser."<br /><br /><strong>IP:</strong> <a href=\"http://urbangiraffe.com/map/?ip=".$ip."&from=drainhole"\>".$ip."</a><br /><br /><strong>Page Visited Before Contact Form:</strong> ".$referred."<br />";
您还可以替换用于实现相同效果的引号(href='...'
):
$user_tracking_vars = "<br /><br /><strong>Browser and Operating System:</strong> ".$browser."<br /><br /><strong>IP:</strong> <a href='http://urbangiraffe.com/map/?ip=".$ip."&from=drainhole'>".$ip."</a><br /><br /><strong>Page Visited Before Contact Form:</strong> ".$referred."<br />";
答案 1 :(得分:1)
如果你不想在转义长字符串html时遇到麻烦,你应该尝试这样做:
$ip = "...";
$browser = "...";
$referred = "...";
$user_tracking_vars =<<<text
<br/>
<br/>
<strong>Browser and Operating System:</strong>
$browser
<br/><br/>
<strong>IP:</strong>
<a href="http://urbangiraffe.com/map/?ip={$ip}&from=drainhole">$ip</a>
<br/><br/>
<strong>Page Visited Before Contact Form:</strong>
$referred
<br/>
text;
// remember the text; from line above must start @ char 0...
或者这个:
<?php
$ip = "...";
$browser = "...";
$referred = "...";
?>
<br/>
<br/>
<strong>Browser and Operating System:</strong>
<?php echo $browser; ?>
<br/><br/>
<strong>IP:</strong>
<a href="http://urbangiraffe.com/map/?ip=<?php echo $ip;?>&from=drainhole"><?php echo $ip;?></a>
<br/><br/>
<strong>Page Visited Before Contact Form:</strong>
<?php echo $referred; ?>
<br/>
以上任何一项都可以节省您逃避报价的宝贵时间。 由于我不知道你在哪个上下文中使用$ user_tracking_vars,所以不需要讨论逻辑和输出分开的优点。 : - )