php去掉變數空格的程式碼

來源:互聯網
上載者:User

在PHP裡,我們要清除變數當中的空格,先來看下面的這一種方法:

 代碼如下 複製代碼

$arr = explode(" ",$a);
foreach ($arr as $value)
{
$result.=$value;
}
echo "去除空白後:".$result;

另外還有一種方法如下:

 代碼如下 複製代碼

$str=str_replace(" ","",$str);
$str=str_replace(chr(32),"",$str)

上面的方法只能處理英文空格的情況.
下面的方法可以處理中文只的空格,不過有個情況是如果頁面指定了編碼的話會出現亂碼

 代碼如下 複製代碼

$str=str_replace(chr(32),"",$str);
$str=str_replace(chr(161),"",$str);

對於頁面為UTF-8是,中文空格提交後變成了chr(227),原應為chr(161)

後面測試了使用trim(), ltrim(), rtrim()函數也可以達到我們要的效果

下面將介紹trim()系統函數的文法和使用:

string trim(string $str [, string $charlist])
trim()函數對輸入的字串進行去除開始位置和結束位置的空格(其實不只是空格)。
如果不設定第二個參數,trim()函數將會去除以下字元:
” ” : 空格;
“\t”: 定位字元;
“\n”: 分行符號;
“\r”: 斷行符號符;
“\0″: Null 字元;
“\x0B”: 垂直定位字元;
如果設定第二個參數,trim()函數將只去除第二個參數中的字元集,而不會再去除上面預設的字元集。

 代碼如下 複製代碼
1 <?php
2 $str = "  hello world   ";
3 $str_trim = trim($str);
4 echo "$str<br />$str_trim";
5 ?>
看一下輸出結果:
hello world hello world

怎麼是一樣的呢?第一行的空格怎麼不見了。呵呵。我們在看一下網頁的HTML代碼吧:
hello world hello world
空格出現了吧!空格不見是因為瀏覽器顯示時自動進行不顯示多除的空格。

 代碼如下 複製代碼
1 <?php
2 $str = "Left hello world Right ";
3 $str_trim = trim($str,"eftL");
4 echo "$str<br />$str_trim";
5 ?>
輸出結果為:
Left hello world Right hello world Right

我們將左則和eftL字元相關的都去除了,你可能注意到了,右側的Right中的”t”也在第二個參數中,為什麼沒去除。仔細看一下$str最後一個字元,其實是空格。因為空白格(最右側)沒有去除(在HTML中能看見),所以”t”(右側倒數第二)將不會處理。這同時說明函數第二個參數會覆蓋trim()的預設字元集。
最後說一下ltrim()和rtrim()函數:
ltrim()函數只處理字串的左側;
rtrim()函數只處理字串的右側;

通過Regex替換,功能更強

php去除字串首尾空格(包括全形)

 代碼如下 複製代碼

<?
$str="     指令碼之家 www.111cn.net     ";
$str = mb_ereg_replace('^( | )+', '', $str);
$str = mb_ereg_replace('( | )+$', '', $str);
echo mb_ereg_replace('  ', "\n  ", $str);
?>

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.