php - PHP 转义字符串中的 JS(用于函数)

标签 php javascript escaping

我有一个 PHP 脚本,它以如下方式为我生成一些 Javascript:

foreach ($array as $element)
{
    echo '<a onClick="myFunctionTakesPHPValues('.$element[0].','.$element[1].')">'.$element[2].'</a>';
}

我的问题是我如何转义才能使 Javascript 位看起来更像

<a onClick='MyFunctionTakesPHPValues("'.$element[0].','.$element[1].'")>'.$element[2].'</a>';

我希望这是有道理的。简短的版本是我觉得我需要在单引号内的双引号内加三引号,但没有三引号这样的东西,但我相信有一些方法可以将引号转义以将其嵌套三次。

最佳答案

一如既往:编码为 JSON。

echo '<a onClick="myFunctionTakesPHPValues('.json_encode($element[0]).','.json_encode($element[1]).')">'.$element[2].'</a>';

关于php - PHP 转义字符串中的 JS(用于函数),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17291011/

相关文章:

javascript - 无法在其他函数中访问 this.state

javascript - ionic 本地通知删除对话框

javascript - 如何将此curl命令转换为JavaScript的fetch

batch-file - 转义 `delims` 的 `for/F` 选项中的双引号

SQL Server 2016 EscapeCharacter 问题

php - Azure API - PHP 请求

php - 如何在 CakePHP 3.0 中使用我自己的外部类?

php - 如何使用 PHP 检测访问我们网站的用户的 MAC 地址?

Powershell转义字符`(反引号)不转义字符串

php - typo3 7.6.2 中的 Flexform 不起作用