php - 引用引号

标签 php javascript ajax nested

有人有办法思考这个问题吗?

我正在努力解决这个问题:

$toReturn .= "
    function addProd(pExists) 
    {
    document.getElementById('products').innerHTML = \"<tr><td id='prod_n'><input type='text' size='10' maxlength='10' name='proj_n' id='prod_n' onchange=".chr(92).chr(34)."saveData(setSaveParams('ajaxSaveDataController.php', 'PROD', 'n'), this.value)".chr(92).chr(34)." value='";

$toReturn .="'></td>

                                    <td id='prod_spec'>    <textarea cols='60' name='prod_spec' id='prod_spec' rows='20' onchange=".chr(92).chr(34)."saveData(setSaveParams('ajaxSaveDataController.php', 'PROD', 'prod_spec'), this.value)".chr(92).chr(34)." value='";                                    

$toReturn .="'></td></tr>\" + document.getElementById('prodsTab').innerHTML;

if (pExists == 0)
{
    document.getElementById('prodsTab').innerHTML = \"<tr><th id='proj_spec_h'>Name</td><th id='proj_spec_h'>Spec</td></tr>\" + document.getElementById('prodsTab').innerHTML;";

我已经转录了这些内容,所以不用太担心偏离主题的拼写错误。

这里发生的事情是我正在使用 PHP 编写调用 Ajax 函数的 Javascript,令我震惊的是 "'s

所以我正在用 PHP 编写一个返回字符串,所以所有内容都在 "

然后我想写一些innerHTML,这样我就可以放入\"

然后 HTML 参数可以位于 '

到目前为止一切都很好。

那么我的 onchange 调用应该以 onchange="function('a', 'b')" 结束,那么,我的 " 在哪里来自?如果我使用 " 将会结束 PHP 字符串。如果我使用 \" 将会结束innerHTML 字符串。所以我最终让 PHP 来解释这个 chr(92).chr(34)

所以这非常困惑,并且开始让我头疼。

现在它在第二个 $toReturn 之后的空白行上失败了,我希望它具有可读性。

我一定是在风格或某些方面做错了什么。

如何处理嵌套的"

最佳答案

使用双转义双引号:

\\\"

这样,当打印时,它将变成一个简单的转义双引号(\"),并且不会出现在innerHTML中。

关于php - 引用引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8994777/

相关文章:

php - 当我在数据库中添加其他数据时,为什么我的函数没有更新?

php - 我如何导入 SQLite db3 文件

php - jQuery 将表单数据发送到 PHP

PHP + AJAX 在查询数据库时不产生结果

php - 如何使用脚本或程序自动测试我的站点是否存在 SQL 注入(inject)攻击?

Javascript:我需要多维数组、数组中的对象还是......?

javascript - 找到 Javascript 数组的总和并除以它的长度

JavaScript滚动长页面以锚定

javascript - ajax响应后无法遍历对象

php - 如何创建 JSON (jQuery),发布整个数组