PHP 中的转义引号

Subodh Poudel 2023年1月30日
  1. 在引号前使用反斜杠 \ 来转义引号
  2. 在 PHP 中使用 Heredoc 语法 <<< 从字符串中转义引号
  3. 交替使用单引号或双引号来转义 PHP 中的引号
PHP 中的转义引号

本文将介绍 PHP 中字符串转义引号的方法。

在引号前使用反斜杠 \ 来转义引号

我们可以使用反斜杠 \ 来转义 PHP 中的特殊字符。当我们尝试在 PHP 中的字符串中加入引号时,脚本会抛出解析错误。因此,我们需要对引号进行转义,以便脚本执行时不会出现任何错误。当我们需要打印包含直接语音的字符串时,我们可以使用这种技术。让我们考虑一个直接引语句子,She asked me, " Are you going out tonight ?".。当我们打印这个字符串时,会抛出一个解析错误。这是因为整个字符串将被包裹在 " " 双引号内。当在代码流程中遇到 Are 之前的双引号时,编译器不希望在它之后出现字符串。它更希望使用分号或连接运算符。因此,编译器会抛出解析错误。

例如,在包含文本 Are you going out today ? 的两个双引号之前写反斜杠。分配变量 $text 中的字符串并使用 echo 命令打印该变量。因此,它将显示带有双引号的完整直接语音句子。

示例代码:

#php 7.x
<?php
$text = "She asked me, \" Are you going out tonight ?\"";
echo $text
?>

输出:

She asked me, " Are you going out tonight ?".

在 PHP 中使用 Heredoc 语法 <<< 从字符串中转义引号

我们可以使用 heredoc 语法 <<< 来转义 PHP 字符串中的引号。在新行中的语法和字符串之后紧跟一个标识符。标识符内的字符串或文本称为 heredoc 文本。我们应该在第一列的新行中的字符串之后使用相同的标识符来表示 heredoc 的结尾。我们应该在结束标识符之后使用分号来表示结束。Heredoc 文本被认为是在双引号内,而不使用双引号。Heredoc 文本中的双引号和单引号会自动转义。我们仍然可以在 heredocs 中使用变量并给它们加上引号。

例如,创建两个变量 $start$end,以存储字符串 hellogoodbye。创建另一个变量 $heredoc 并将 heredoc 语法 <<< 写入其中。在语法之后写一个标识符 term。在下一行,写下 heredoc 文本。在文本的开头用双引号将 $start 变量括起来。编写文本 We can use the "heredocs" to incorporate the 'single quotes' and the "double quotes" in a string.。注意将单词 heredocsdouble qoutes 用双引号括起来,将单词 single quote 用单引号括起来,如上所述。最后,用双引号将 $end 变量括起来。在下一行中,在结束 heredoc 后用分号写入 term 标识符。然后,打印 $heredoc 变量。

上面的示例输出带有单引号和双引号的文本。使用 heredoc 语法 <<< 可以很容易地从 PHP 中的字符串中转义引号。请查看 PHP 手册 以了解有关 heredoc 的更多信息。

代码示例:

#php 7.x
<?php
$start = "hello";
$end = "goodbye";
$heredoc = <<<term
"$start", We can use the "heredocs" to incorporate the 'single quote' and the "double quotes" in a string. "$end". 
term;
echo $heredoc;
?>

输出:

"hello", We can use the "heredocs" to incorporate the 'single quote' and the "double quotes" in a string. "goodbye".

交替使用单引号或双引号来转义 PHP 中的引号

我们可以使用双引号转义单引号,使用单引号转义双引号。因此,我们可以在 PHP 中对字符串中的引号进行转义。在字符串中使用双引号和单引号时略有不同。我们可以在使用双引号时执行字符串插值,但单引号不允许这样做。插值是一种引用字符串中的变量来评估它们的值的方法。

例如,写一个字符串 Over and over again 用单引号括起来。用双引号将 over 括起来。使用 echo 命令显示字符串。在下一行中,用双引号将相同的字符串括起来,并使用单引号将相同的单词 over 括起来。打印字符串。

在下面的示例中,双引号在第一个字符串中被转义,单引号在第二个字符串中被转义。由于使用备用引号来包装整个字符串,因此是可能的。

示例代码:

# php 7.x
<?php
echo 'Over and "over" again'."<br>";
echo "Over and 'over' again";
?>

输出:

Over and "over" again 
Over and 'over' again
作者: Subodh Poudel
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn

相关文章 - PHP String