PHP:在单个字符串中使用单引号和双引号

Posted

技术标签:

【中文标题】PHP:在单个字符串中使用单引号和双引号【英文标题】:PHP : Using single quotes and double quotes in single string 【发布时间】:2013-05-28 13:44:13 【问题描述】:

我如何使用如下代码中的字符串。

$str = 'Is yo"ur name O'reil"ly?';

上面的代码只是一个例子..我需要使用包含单引号和双引号的大 html 模板。我尝试了 Addslashes php 方法,但是当我在该函数中使用单引号和双引号字符串时我收到语法错误。请帮助我。

注意:我的实时使用是json数据,如下所示。

    $string = "

    <html>
    ...
    <b:if cond='data:blog.pageType == "item"'>
    ..

    ";
   $string = '"method":"template","params":"1":"'.$string.'","token":"12345"';

【问题讨论】:

【参考方案1】:

您可以为此使用heredoc:

$string = <<<EOM
    <html>
    ...
    <b:if cond='data:blog.pageType == "item"'>
    ..
EOM;

如果您也希望防止变量插值,您可以使用nowdoc(自 5.3 起):

$string = <<<'EOM'
    <html>
    ...
    <b:if cond='data:blog.pageType == "item"'>
    ..
EOM;

heredoc 和 nowdoc 都有特定的格式要求,因此请务必正确阅读手册。

【讨论】:

您可能还提到在heredoc 的结尾之前不允许有空格/制表符。 @Luceos 变量在 heredoc 中工作得很好。请参阅此示例 - php.net/manual/en/language.types.string.php#example-73 杰普,我知道;错字;办公室的温度一直在上升 xD @user2425700 如果你在 heredoc 中使用 $variable,就像在双引号中一样,例如"hello $variable". @user2425700 顺便说一句,由于您对这个场景比较陌生,请阅读tour 部分了解如何接受答案。【参考方案2】:

我用heredoc做同样的事情

$string = <<< EOF
'Is yo"ur name O'reil"ly?'
EOF;

【讨论】:

【参考方案3】:

你可以像这样使用heredoc:

$str = <<< EOF
'Is yo"ur name O'reil"ly?'
EOF;

【讨论】:

以上是关于PHP:在单个字符串中使用单引号和双引号的主要内容,如果未能解决你的问题,请参考以下文章

浅谈PHP中单引号和双引号到底有什么区别呢?

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

php 的单引号和双引号的用法

php单引号中可以包含双引号吗

php字符串中单引号''和双引号“”的区别

单引号和双引号有啥区别?