wordwrap() 可將長字串依指定寬度自動插入換行符,適合郵件內容格式化、終端機輸出、PDF 文字排版等場景。本文詳細說明參數、行為與常見陷阱。
wordwrap(
string $string,
int $width = 75,
string $break = "\n",
bool $cut_long_words = false
): string
"\n"),HTML 環境可用 "
\n"。true 強制切斷超長單字,false(預設)保持單字完整,超寬單字獨佔一行。<?php
$text = "TRADING ON MARGIN POSES ADDITIONAL RISKS AND IS NOT SUITABLE FOR ALL INVESTORS. A COMPLETE LIST OF THE RISKS ASSOCIATED WITH MARGIN TRADING IS AVAILABLE IN THE MARGIN RISK DISCLOSURE DOCUMENT.";
// 寬度 40,預設換行符
echo wordwrap($text, 40) . "\n";
/*
輸出:
TRADING ON MARGIN POSES ADDITIONAL
RISKS AND IS NOT SUITABLE FOR ALL
INVESTORS. A COMPLETE LIST OF THE
RISKS ASSOCIATED WITH MARGIN
TRADING IS AVAILABLE IN THE MARGIN
RISK DISCLOSURE DOCUMENT.
*/
?>
<?php
$htmlText = "這是一段很長的中文文字,需要在網頁上自動換行顯示,避免排版跑版。";
// 使用
作為斷行符,且切斷長單字(中文無單字邊界,通常設 true)
echo wordwrap($htmlText, 20, "
\n", true);
?>
$cut_long_words = true 強制按字元切斷。wordwrap() 會切斷標籤內容,導致標籤不配對。解決:先移除標籤、或使用專門庫(如 HTMLPurifier)處理。wordwrap() 支援 UTF-8 字元計數,但 $cut_long_words=true 可能在多位元組字元中間切斷(極少見),嚴格場景請用 mb_wordwrap() 自實作。wordwrap() 是快速實現文字換行的利器,理解 $cut_long_words 參數對中文/長單字處理至關重要。希望本文對您的 PHP 程式設計有所幫助。