【问题标题】:PHP: trying to put href HTML attribute into a `echo`PHP:试图将 href HTML 属性放入`echo`
【发布时间】:2016-10-09 16:19:57
【问题描述】:

我似乎无法获得指向echo 的网址。我想创建一个链接以打开 Google 地图:

我无法弄清楚我的代码有什么问题:

$query = mysql_query("SELECT * FROM cev")or die(mysql_error());
while($row = mysql_fetch_array($query))
{
  $name = $row['sitecode'];
  $lat = $row['latitude'];
  $lon = $row['longitude'];
  $type = $row['sitetype']; 
  $city = $row['city']; 
  $id = $row['id'];

  echo("addMarker($lat, $lon,'<b>$name</b><a href="editcev.php?id=' . $row['id'] . '">View</a><br><br/>$type<br/>$city');\n");

【问题讨论】:

    标签: php echo href


    【解决方案1】:

    你必须修正引号:

     echo "addMarker($lat, $lon,'<b>$name</b><a href=\"editcev.php?id={$row['id']}\">View</a><br><br/>$type<br/>$city');\n";
    

    替代方法

    Here document

    echo <<<EOS
    addMarker($lat, $lon, '<b>$name</b><a href="editcev.php?id={$row['id']}">View</a><br><br/>$type<br/>$city');
    
    EOS;
    

    串联

    echo "addMarker($lat, $lon, '<b>$name</b>" .
      "<a href=\"editcev.php?id={$row['id']}\">View</a>" .
      "<br><br/>$type<br/>$city)";
    

    使用addshashes

    addMarker 看起来像一个 JavaScript 函数。您可以通过 addslashes 预处理 HTML 字符串:

    $html = <<<EOS
    <b>$name</b><a href="editcev.php?id={$row['id']}">View</a><br><br/>$type<br/>$city
    EOS;
    $html = addslashes($html);
    
    echo "addMarker($lat, $lon, '$html');\n";
    

    建议

    我建议使用支持语法高亮的编辑器。

    了解PHP strings。尤其是逃跑的事情。

    最后,我不建议在 PHP 代码中编写 任何 HTML/JavaScript。请改用SmartyTwig 等模板引擎。

    【讨论】:

    【解决方案2】:

    您似乎正在尝试在 echo 语句中使用方法。如果你想使用方法、变量或一些 php 的东西,你不应该在大多数情况下使用引号,除非它是一个 eval 特征对象或方法。

    这样试试

    echo addmarker($lat, $lon, 
                   '<b>'.$name.'</b> <a href="'.editcev.php?id=.' '.$row['id'].
                   ".'>View</a><br><br/>'
                   .$type.
                   '<br/>'
                   .$city.');'."\n");
    

    我不知道你的具体情况,但我认为这行得通

    【讨论】:

      【解决方案3】:
        echo("addMarker(".$lat.",".$lon.",<b>".$name."</b><a href=ditcev.php?id=" . $row['id'] . ">View</a><br><br/>".$type."<br/>".$city.");\n");
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-06-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-20
        相关资源
        最近更新 更多