4 回答

TA貢獻(xiàn)2080條經(jīng)驗(yàn) 獲得超4個(gè)贊
你需要:
$ro = preg_replace('/\s+/', ' ',$row['message']);
您使用的\s\s+是指空格(空格,制表符或換行符)后跟一個(gè)或多個(gè)空格。這實(shí)際上意味著用單個(gè)空格替換兩個(gè)或多個(gè)空格。
您想要的是用單個(gè)空格替換一個(gè)或多個(gè)空格,因此您可以使用模式 \s\s*或\s+(推薦)

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
<?php
$str = "This is a string with
spaces, tabs and newlines present";
$stripped = preg_replace(array('/\s{2,}/', '/[\t\n]/'), ' ', $str);
echo $str;
echo "\n---\n";
echo "$stripped";
?>
這個(gè)輸出
This is a string with
spaces, tabs and newlines present
---
This is a string with spaces, tabs and newlines present

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超5個(gè)贊
簡(jiǎn)化為一個(gè)功能:
function removeWhiteSpace($text)
{
$text = preg_replace('/[\t\n\r\0\x0B]/', '', $text);
$text = preg_replace('/([\s])\1+/', ' ', $text);
$text = trim($text);
return $text;
}
根據(jù)Danuel O'Neal的回答。
- 4 回答
- 0 關(guān)注
- 722 瀏覽
添加回答
舉報(bào)