PHP语法输出错误的字符串

时间:2017-02-17 00:48:22

标签: php syntax

echo "<td><a href='#'>Edit</a> | <a href='javascript:delpost('".$cat2['id']."','".$cat2['name']."')'>Delete</a></td>";

此PHP代码将输出:

<a href="javascript:delpost(" 85','a)'>Delete</a>

但我想要这个:

<a href="javascript:delpost('85','a')">Delete</a>

我的代码出了什么问题?

2 个答案:

答案 0 :(得分:2)

你混淆了报价。试试这个:

echo '<td><a href="#">Edit</a> | <a href="javascript:delpost(\'' . $cat2['id'] . '\',\'' . $cat2['name'] . '\')">Delete</a></td>';

请参阅此处的输出:https://3v4l.org/qpeM6

注意:此代码假定id是一个整数或没有任何前导空格的字符串,name应该是不带前导空格的字符串。如果值中有空格,您可以将值包装为trim($cat2['id'])

答案 1 :(得分:0)

您可以使用此操作。使用单引号而不是双引号,逃避其他引号。

 echo '<td><a href=\'#\'>Edit</a> | <a href="javascript:delpost(\''.$test1.'\',\''.$test1.'\')">Delete</a></td>';