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