首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 文字段落自動換行:wordwrap() 函數用法詳解

     編輯:PHP 相關知識

前言

wordwrap() 可將長字串依指定寬度自動插入換行符,適合郵件內容格式化、終端機輸出、PDF 文字排版等場景。本文詳細說明參數、行為與常見陷阱。

函數簽名

wordwrap(
    string $string,
    int $width = 75,
    string $break = "\n",
    bool $cut_long_words = false
): string

參數說明

  • $width:每行最大字元數(預設 75)。
  • $break:換行字串(預設 "\n"),HTML 環境可用 "
    \n"
    。
  • $cut_long_words: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.
*/
?>

HTML 環境應用

<?php
$htmlText = "這是一段很長的中文文字,需要在網頁上自動換行顯示,避免排版跑版。";
// 使用 
作為斷行符,且切斷長單字(中文無單字邊界,通常設 true) echo wordwrap($htmlText, 20, "
\n", true); ?>

常見問題與解決

  • 中文斷行:中文無空白分隔,需設 $cut_long_words = true 強制按字元切斷。
  • 保留 HTML 標籤:wordwrap() 會切斷標籤內容,導致標籤不配對。解決:先移除標籤、或使用專門庫(如 HTMLPurifier)處理。
  • 多位元組字元:PHP 7+ wordwrap() 支援 UTF-8 字元計數,但 $cut_long_words=true 可能在多位元組字元中間切斷(極少見),嚴格場景請用 mb_wordwrap() 自實作。

總結

wordwrap() 是快速實現文字換行的利器,理解 $cut_long_words 參數對中文/長單字處理至關重要。希望本文對您的 PHP 程式設計有所幫助。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved