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

PHP 為字串每一行加上前綴空白字元的函數實作

     編輯:PHP 綜合知識

前言

處理程式碼產生、日誌格式化、縮排輸出時,常需為多行字串的每一行加上固定前綴(如空白、Tab、> )。

函數實作

<?php
/**
 * 為字串每一行加上前綴字串
 *
 * @param string $string  原始字串
 * @param string $prefix  前綴字串(如 "    ", "\t", "> ")
 * @return string         處理後字串
 */
function prefixLines($string, $prefix) {
    // 依平台換行符分割(PHP_EOL 自動對應 \n, \r\n, \r)
    $lines = explode(PHP_EOL, $string);

    // 逐行加前綴
    foreach ($lines as &$line) {
        $line = $prefix . $line;
    }

    // 重組
    return implode(PHP_EOL, $lines);
}

// 使用範例
$code = "function foo()\n{\n    echo 'bar';\n}";
echo prefixLines($code, "    "); // 每行縮排 4 空白
?>

輸出結果

    function foo()
    {
        echo 'bar';
    }

進階:支援自訂換行符

function prefixLinesEx($string, $prefix, $eol = PHP_EOL) {
    $lines = explode($eol, $string);
    array_walk($lines, function(&$l) use ($prefix) { $l = $prefix . $l; });
    return implode($eol, $lines);
}

結語

此函數簡潔高效,適用於程式碼產生器、模板引擎、日誌格式化等需逐行加前綴的場景。

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