PHP - 超链接没有获得完整的字符串

时间:2012-07-24 14:37:16

标签: php

我有以下代码,但在返回时无法获得完整的变量值。

<?php
$no7="Girls pink";
$no8="All Categories";
$aw="2";

echo'<table width="auto" border="0">
  <tr>
        <td width="auto" class="s">'; echo "<a href=search.php?search_name=".$no7."&mydropdown=".$no8."&pno=".$aw.">".$aw."</a>"; echo'</td>
  </tr>
</table>';
?>

感谢您的帮助,问候,

4 个答案:

答案 0 :(得分:3)

href值:

上添加引号
echo "<a href='search.php?search_name=".$no7."&mydropdown=".$no8."&pno=".$aw."'>".$aw."</a>";
//            ^--------------------------- quotes ----------------------------^

答案 1 :(得分:1)

使用urlencodehtmlspecialchars

echo "<a href='search.php?search_name=" . urlencode($no7) . "&amp;mydropdown=" . urlencode($no8) . "&amp;pno=" . urlencode($aw) . "'>" . htmlspecialchars($aw) . "</a>";

另外:在网址周围添加引号,并将&替换为&amp;以获得更好的HTML语法。

答案 2 :(得分:0)

清理可怕的格式/布局并使用HEREDOC

echo <<<EOL
<table width="auto" border="0">
<tr>
    <td width="auto" class="s"><a href="search.php?search_name={$no7}&mydropdown={$no8}&pno={$aw}">{$aw}</a></td>
</tr>
</table>
EOL;

注意HEREDOC如何消除对所有单个回声的需要,允许对字符串进行变量插值(不再“断开字符串以连接”),并允许HTML代码的正确格式化/缩进。

答案 3 :(得分:0)

问题是变量中的空格。浏览器将空格作为href标记的结尾更是一个问题。如前所述,使用urlencode或将变量中的空格转换为+