php - 当字符串中有行 ['value' ] 时,在 PHP 中转义字符串的正确方法是什么?

标签 php mysql ajax jquery

下面的代码使用 AJAX 返回到对象中的 html 页面。

当我没有将它作为 PHP 进行回显时,它似乎没有做它所做的事情,即根据属性“data-sort”创建 DIVS,对它们进行排序

我知道该函数是正确的,我是否可能错误地转义了它?

echo "

        newdiv = $(\'<div id=\'eventdiv\' class=\'shadow curved_sml gradient\' data-sort=\'".$row_display['TimeStamp']."\'>".$row_new['Title']." TIME: ".$row_display['TimeStamp']."</div>\');

        div_id_after = Math.floor(parseFloat(newdiv.attr('data-sort')));

        $('div[data-sort='+div_id_after+']').after(newdiv);

        ";

问候, 泰勒

最佳答案

是的,您错误地转义了它。你拥有的是:

  • 第一级引号:双引号,在 PHP 中,
  • 第二级引号:JavaScript 中的单引号,

但是第三层的引号不正确 - HTML 在 JS 中作为字符串传递,而 HTML 在 PHP 中又作为字符串传递。另外,您不应该转义 ',因为您将它们包含在 " 中。

尝试以下操作:

echo "
    newdiv = $('<div id=\"eventdiv\" class=\"shadow curved_sml gradient\" data-sort=\"" . $row_display['TimeStamp'] . "\">" . $row_new['Title'] . " TIME: " . $row_display['TimeStamp'] . "</div>');

    div_id_after = Math.floor(parseFloat(newdiv.attr('data-sort')));

    $('div[data-sort=\"'+div_id_after+'\"]').after(newdiv);
";

我认为这应该可以解决您的问题。但我没有测试过。

关于php - 当字符串中有行 ['value' ] 时,在 PHP 中转义字符串的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6132741/

相关文章:

javascript - 发送实时数据到mysql?

php - 为什么 CodeIgniter-Bootstrap 仅在 frontepage.php 中加载,但在我看来却没有加载?

php - Yii $this->save() 和 $this->commit() 在循环中使用时仅保存最后一条记录

MYSQL LEFT JOIN - 按用户过滤

javascript - Internet Explorer If 语句和 $.get ajax

php - 什么会导致 PHP 变量被服务器重写?

Php Redis 扩展在 wampserver windows10 上不起作用

mysql - AWS Aurora MySQL 上的聚合查询非常慢

c# - 为什么我的 ajax 帖子被截断了?

javascript - ajax加载后调用函数?