我有一個非常簡單的字符串:走出的每一個字符不是一個字母或數字PHP
suhfdgfsdf6z87wrt348rfgrztf873$[{;÷[öw
和一個非常簡單的問題: 我怎麼能不(不包括)每個字符不是一個字母或數字在PHP中?
我有一個非常簡單的字符串:走出的每一個字符不是一個字母或數字PHP
suhfdgfsdf6z87wrt348rfgrztf873$[{;÷[öw
和一個非常簡單的問題: 我怎麼能不(不包括)每個字符不是一個字母或數字在PHP中?
這乾淨也UTF字母。
$r = preg_replace('/[\pL\d]/u', '', $var);
+1不錯的一個!乾杯 –
// includes underscores
preg_replace('/[\w]+/', '', $var);
或者
preg_replace('/[a-zA-Z0-9]+/', '', $var);
你應該只剩下你的特殊字符,在這之後。
\ b是一個單詞字符,與[a-zA-Z0-9_]匹配,所以\ d是不需要,但你仍然需要刪除下劃線。 –
哦,這是正確的,我忘了它已經包括_numbers_。謝謝! –
其實,我用\ b測試過它,它沒有像預期的那樣工作(我相信\ b在括號中改變了行爲)。我將它改爲\ w並且效果更好。 –
<?php
$string = '[email protected]#$%ABCDEFG1234567()*&';
echo ereg_replace('[^a-zA-Z0-9]', '', $string)
?>
我看到有人已經有了這一點,但他們使用了preg_replace,這是更好,因爲ereg_replace將不會繼續支持。
你算作'ö'是一封信嗎? (順便說一句,它*實際上是一封信。) –
是啊'ö'是我的一封信... – Akos