php替換問題。只要不是中文、數字、字母就替換成-- 空格 , . % 替換成_
例如這個檔案名稱 ??? ??? ??_TRAX_Full HD_1080pPC.txt
替換後為--_--_--_TRAX_Full HD_1080pPC.txt
我現在用的是str_ireplace函數 好像實現不了啊。。
誰幫忙寫個函數 把非中文、數字、字母 替換成--
然後我在用下面的函數返回$str應該就行了。。
return str_ireplace(array(' ','&','・','%'),'_',$str);
回複討論(解決方案)
只計算半形英數
preg_replace('#[^a-z0-9\x4E00-\x9FCF]#iuU', '--', $str);
包含全形半形英數
preg_replace('#[^a-z0-9\xff10-\xff19\xff21-\xff3a\xff41-\xff5a\x4E00-\x9FCF]#iuU', '--', $str);
上述正則未包含全部漢字,所以會有誤殺可能,但機率很低
\xff10-\xff19 全形0-9
\xff21-\xff3a 全形A-Z
\xff41-\xff5a 全形a-z
\x4E00-\x9FCF 主要漢字(少量古體、異體字不在此範圍)
只計算半形英數
preg_replace('#[^a-z0-9\x4E00-\x9FCF]#iuU', '--', $str);
包含全形半形英數
preg_replace('#[^a-z0-9\xff10-\xff19\xff21-\xff3a\xff41-\xff5a\x4E00-\x9FCF]#iuU', '--', $str);
上述正則未包含全部漢字,所以會有誤殺可能,但機率很低
\xff10-\xff19 全形0-9
\xff21-\xff3a 全形A-Z
\xff41-\xff5a 全形a-z
\x4E00-\x9FCF 主要漢字(少量古體、異體字不在此範圍)
貌似不能達到想要的效果 不過還是謝謝你了
哦,方括弧外加個+號,上面的是只對單字元替換
如果是混編就麻煩了,就是要替換字元夾雜著漢字或英數
哦,方括弧外加個+號,上面的是只對單字元替換
如果是混編就麻煩了,就是要替換字元夾雜著漢字或英數
用正則 能實現 只替換 韓文和特殊符號嗎 。
哦,方括弧外加個+號,上面的是只對單字元替換
如果是混編就麻煩了,就是要替換字元夾雜著漢字或英數
用正則 能實現 只替換 韓文和特殊符號嗎 。
你這句話語文很難理解啊
用正則能實現,只替換韓文和特殊符號嗎?
用正則能實現只替換韓文和特殊符號嗎?
說的是哪一個意思?
朝鮮語的範圍是 AC00-D7AF(主要字型)
特殊符號很難,unicode包含幾萬個符號,而且很分散,有些我們看著是符號,但可能是某個民族的語言
例如數學、物理算式符號很多是古希臘文
符號一般只能選小範圍的