PHP - 超链接标记未显示变量的完整值

时间:2012-08-17 14:50:27

标签: php

我正在尝试以下代码,以便在锚点和标题中获取标记值。但是锚文本的代码是正常的,但标题中只显示单个字符..

  $tag=$info['name']." from ".$info['city'];

  echo'  <td class="title1" bgcolor="#F7F7F7"> <a title='.$tag;  echo' href=details/';
  echo $info['friendly_url'];
  echo' >';
  echo $tag;
  echo'</a></td>';

请注意标签值类似于“来自NW的David”;

感谢您的帮助。

2 个答案:

答案 0 :(得分:4)

您需要title值附近的引号,否则空格后的部分将被解释为(格式错误的)HTML属性。

echo '<td class="title1" bgcolor="#F7F7F7">';
echo '<a title="'.$tag.'" href="details/' . $info['friendly_url'] . '">';
echo $tag; 
echo'</a></td>';

最好使用引号括起HTML属性,以避免出现这种情况。

答案 1 :(得分:0)

这是令人讨厌的代码。重复回声不可能在短时间内维持。您可以使用HEREDOC并同时使其清晰易读:

echo <<<EOL
<td class="title1" bgcolor="#F7F7F7">
    <a title="$tag" href="details/{$info['friendly_url']}">$tag</a>
 </td>
EOL;

任何现代的支持PHP的IDE都会正确地为变量着色。并注意如何在heredoc中使用引号和变量,而不必进行任何令人讨厌的字符串连接。