PHP 清除字串空白方法

雖然 PHP 本身的 trim 函式就可以清除字串前後的空白,但在部分情況下,不只是字串的前後空白需要清除,同時也必須清除字串間的所有空白字符(whitespace),這時候需要使用 PHP 正規表示的技巧來處理,主要的程式運作其實僅有兩個部分而已,請看以下範例。

範例、先清除字串前後的空白字符再移除字串間空白
<?php
$TestStr = " This  string have many whitespace.";
echo '<pre>'.$TestStr.'<br></pre>';

$TestStr = trim($TestStr);

echo '<pre>'.$TestStr.'<br></pre>';

$TestStr = preg_replace('/\s(?=)/', '', $TestStr);
echo '<pre>'.$TestStr.'</pre>';
?>
輸出結果
 This string have many whitespace. 
This string have many whitespace.
Thisstringhavemanywhitespace.
範例一開始準備了一個 $TestString 是個前後以及字串之間都帶有空白的字串,範例的兩個紅色標注處就是移除字串空白的關鍵,第一個關鍵是使用 PHP 內建的 trim 函式,他能輕鬆的將原始字串前後的空白去除,從輸出結果的第一行與第二行比較就能看到前後空白已經移除了,再來第二個紅色標注的地方採用了 PHP 正規表示的技巧,其中『\s』代表所有的空白字符,包括空格、製表符、換頁符 ... 等,而『(?=)』代表向前查詢,整段的意思是找出所有的空白字符,並用 "" 取代掉,也就是讓所有空白字符消失,所以範例的第三行輸出結果就變成所有英文字母全部連在一起,因為字母與字母之間的空白已經全數被清除。

延伸閱讀
© Copyright wibibi.com 網頁設計教學百科 基礎的網頁設計規劃、資料庫與程式設計 Since 2012 Englsih version
PHP Smarty MySQL JQuery Apache W3C