【问题标题】:stop single quote converting to double quote停止单引号转换为双引号
【发布时间】:2015-09-22 12:44:42
【问题描述】:

我有这行代码(这是从 WordPress 帖子中提取自定义字段,然后使用 Jquery Shuffle - http://vestride.github.io/Shuffle/):

<?php 
     $data = get_post_meta($post->ID, 'page_accessories_product', true); 
?>

     <li class="item" data-groups='["<?php echo $data; ?>"]'>

我要输出的:

<li class="item" data-groups='["prod1"]'>

但它改为输出:

<li class="item" data-groups="["prod1"]">

它将单引号替换为双引号,这意味着脚本不起作用。有什么想法吗?

【问题讨论】:

  • 好像是浏览器的问题,你换了一个试试?
  • 输出可能是你想要的,除了你没有检查实际的源代码,你可能正在用浏览器检查器检查 DOM。
  • 如果我转到您提供的那个网站链接并检查代码,具有“数据组”属性的元素的格式也与data-groups="["photography"]" 相同,所以我认为您没有问题.这会阻止你做某事吗?你有什么问题?
  • 您可能想要颠倒引号...
  • @Akki 恐怕这确实有帮助

标签: php syntax echo


【解决方案1】:

这里有两个问题。

浏览器正在将'' 替换为""。如果你真的查看源代码,我相信你会看到它确实是''。无论如何,这无关紧要,它们在那里可以互换。

单步执行您的代码..

  • 您关闭了一个 PHP 标记。
  • 开始输出li
  • "" 内回显$data

所以对于&lt;li class="item" data-groups='["&lt;?php echo $data; ?&gt;"]'&gt;

你的输出是'["prod1"]'

如果你想要data-groups='[prod1]',你需要&lt;li class="item" data-groups='[&lt;?php echo $data; ?&gt;]'&gt;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-18
    • 2017-12-29
    • 2013-01-20
    • 1970-01-01
    • 2016-09-23
    • 2018-01-07
    相关资源
    最近更新 更多