如果找到兩個以上的非字母數字字符,我一直試圖替換字符串的一部分。php替換如果兩個或更多的非字母數字字符
我有它的部分工作,但不能取代當下劃線在那裏。
這就是我想要的。
$str = "-dxs_ s";
$str = preg_replace('/\W{2,}|\_{2,}/', ' ', $str);
reults在-dxs_ s
應該-dxs s
。
那麼如果在字符串中找到兩個或更多的非字母數字字符,該如何替換?
如果找到兩個以上的非字母數字字符,我一直試圖替換字符串的一部分。php替換如果兩個或更多的非字母數字字符
我有它的部分工作,但不能取代當下劃線在那裏。
這就是我想要的。
$str = "-dxs_ s";
$str = preg_replace('/\W{2,}|\_{2,}/', ' ', $str);
reults在-dxs_ s
應該-dxs s
。
那麼如果在字符串中找到兩個或更多的非字母數字字符,該如何替換?
只需
$str = preg_replace('/(\W|_){2,}/', ' ', $str);
這是什麼東西做的是分組的「無字或下劃線」部分和2+量詞適用於它作爲一個整體。
\W
也排除因此_
,你需要自己的人物等級:
/[^a-zA-Z0-9]{2,}/
或
$result = preg_replace('/[^a-z\d]{2,}/i', ' ', $subject);
+1運作良好,感謝您解釋\ W如何排除下劃線 – david
「憲章」 - >「字符」出於某種原因,沒有在這個問題上沒有編輯按鈕雖然。 – jli