2016-10-24 78 views
-1

當我嘗試通過使用此代碼的preg_replace還會刪除時只問了空間被刪除

preg_replace('/\s{2,}/', ' ', $data)
我注意到,也換行符被刪除從字符串中刪除多個空格換行符。

當我在語法中使用空格字符而不是\ s時,一切正常。

所以我想知道爲什麼我們有這種行爲,發生了什麼?

+2

搜索什麼'\ s'意味着什麼。嘗試使用'\ h'來代替。 –

+0

\ s通常是空格,製表符和換行符,所以這是正確的結果 –

+2

可能的重複[參考 - 這是什麼正則表達式?](http://stackoverflow.com/questions/22937618/reference-what-does-this -regex-mean) –

回答

1

\s匹配空白字符。從PCRE

默認\ S字符是HT(9),LF(10),VT(11),FF(12),CR (13),和空間( 32),它們在「C」 語言環境中定義爲空格。

強調我的。