如何在单引号 php 中使用单引号?

Posted

技术标签:

【中文标题】如何在单引号 php 中使用单引号?【英文标题】:How do I use single quotes inside single quotes php? 【发布时间】:2019-02-26 17:39:19 【问题描述】:

谁能解释一下如何使这段代码工作?

echo '<li class="list-clients__item">
      <img src="<?php get_field('brand_logo'); ?>"   > 
      <span class="helper"></span> 
      </li>';

【问题讨论】:

嗯,您必须详细说明什么不起作用,以及它抛出的错误消息(如果有的话)......以便于理解/回答 无论如何,您都不能在字符串/回显语句中嵌套&lt;?php… 代码部分。 在 PHP 中不要使用&lt;?php。连接。 Can you put PHP inside PHP with echo?的PD 【参考方案1】:

您在 php 函数调用中嵌套了 php 标签。

<?php get_field('brand_logo'); ?>

这是在动态html(例如.phtml)中执行php。

使用动态 html

<li class="list-clients__item"> 
  <img src="<?php echo get_field('brand_logo'); ?>"   >
  <span class="helper"></span> 
</li>

或删除嵌套的php标签

echo '<li class=\"list-clients__item\"> 
        <img src=\"' . get_field('brand_logo') . '\" height=\"75\" width=\"168\" alt=\"' . $category->cat_name . '\"> 
        <span class=\"helper\"></span> 
      </li>';

【讨论】:

Guessing get_field 不会回显,因此在您的动态 html 版本中,它应该包含 echo 或重写为简短回显 &lt;?=get_field('brand_logo')?&gt;。(还有一些缺少的属性转义值得提及)【参考方案2】:

试试这个:

echo '<li class="list-clients__item"> <img src="'. get_field('brand_logo', 'category_' . $category->cat_ID) .'"   > <span class="helper"></span> </li>';

【讨论】:

它给了我 src 未知 同源未知 您想获取分类项目的 brand_logo 吗?如果不是类别,我建议您阅读此advancedcustomfields.com/resources/get_field【参考方案3】:

每当我必须将一堆变量和函数嵌入到较长的(HTML)字符串中时,我发现使用以下格式更易于阅读:

$brand_logo = get_field('brand_logo');
echo <<<EOF
<li class="list-clients__item">
    <img src="$brand_logo"   >
    <span class="helper"></span>
</li>
EOF;

称为heredoc 格式。

【讨论】:

不能在字符串中调用函数(get_field)。另外值得注意的是,一些编辑器更喜欢您将 EOF 更改为 HTML 以正确突出显示语法。 @René 好地方,我习惯于对方法进行分类,它们确实工作。现在修好了。我不确定所有的编辑器,但是 PhpStorm 可以很好地处理heredoc。 它给了我 src 未知 @Remon,这可能意味着 brand_logo 要么根本没有定义,要么您返回了错误的数据类型。看来您在帖子中没有给出足够多的项目来创建明确的答案。 @René 我使用自定义字段插件在类别部分创建了一个名为brand_logo 的新字段,我需要在主页中显示此类别徽标这是我的情况,那么您如何帮助我显示此自定义领域?【参考方案4】:

要使您的代码正常工作,请删除 php 标记。

还可以使用 \(转义字符)来排除引号。

例如。 echo 'tom\'s rest'

echo '<li class="list-clients__item">
      <img src="'.get_field('brand_logo') .'"   > 
      <span class="helper"></span> 
      </li>';

【讨论】:

它给了我致命错误:调用未定义的函数字段() 字段是函数还是数组? @Vidal field不是函数,函数调用get_field

以上是关于如何在单引号 php 中使用单引号?的主要内容,如果未能解决你的问题,请参考以下文章

如何在单引号字符串中使用变量?

如何在单引号内使用单引号?

如何在单引号字符串中转义单引号

正则表达式在单引号内转义双引号

PHP “引号兄弟”

PHP教程:PHP中单引号与双引号的区别分析