php替換問題。只要不是中文、數字、字母就替換成--

來源:互聯網
上載者:User
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包含幾萬個符號,而且很分散,有些我們看著是符號,但可能是某個民族的語言
例如數學、物理算式符號很多是古希臘文
符號一般只能選小範圍的

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.