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
,以儲存字串 hello
和 goodbye
。建立另一個變數 $heredoc
並將 heredoc 語法 <<<
寫入其中。在語法之後寫一個識別符號 term
。在下一行,寫下 heredoc 文字。在文字的開頭用雙引號將 $start
變數括起來。編寫文字 We can use the "heredocs" to incorporate the 'single quotes' and the "double quotes" in a string.
。注意將單詞 heredocs
和 double 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 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