我正试图将字符串和整数传递到同一个函数中,但引号有问题。我发现错误在echo $q->info
部分,我必须对这段代码使用双引号。
有人能帮我写这个$q->info
,但要获得真正的价值而不是$q->info
吗?
到目前为止,我的代码是
<td><a href="javascript:add(<?php echo $q->info?>,<?php echo $q->id?>)">Edit</a></td>
以及js函数
function add(var,var2)
有人能帮我吗?
您有一个PHP变量。要将其转换为JavaScript文本的字符串表示,请使用json_encode
。为了安全地插入HTML属性值,请使用htmlspecialchars
。
<td><a href="javascript:add(<?php echo htmlspecialchars(json_encode($q->info)); ?>,<?php echo htmlspecialchars(json_encode($q->id)); ?>)">Edit</a></td>
也就是说,编写代码时最好遵循渐进增强和非侵入式JavaScript的原则。
<td>
<form action="edit" method="post">
<input type="hidden" name="info" value="<?php echo htmlspecialchars($q->info); ?>">
<input type="hidden" name="id" value="<?php echo htmlspecialchars($q->id); ?>">
<input type="submit" value="edit">
</form>
</td>
然后类似于:
document.querySelector('form').addEventListener("submit", function (evt) {
evt.preventDefault();
add(this.elements.info.value, this.elements.id.value);
});
您需要引用字符串。
<td><a href="javascript:add('<?php echo $q->info?>',<?php echo $q->id?>)">Edit</a></td>
此外,var
是无效的变量/参数名称(标识符)。
以下是您的问题的答案:Preg替换字符串的一部分?
echo substr($string, 0, strpos($string, "-DELETED"));