我正在嘗試爲任何給定的字符串創建正則表達式。正則表達式 - preg_match拉丁和希臘字符
目標:刪除所有字符,這是不是 「拉丁」 或 「小寫希臘」 或 「數字」。
我到目前爲止做了什麼:[^a-z0-9]
這對於拉丁字符非常適用。
當我嘗試這個:[^a-z0-9α-ω]
沒有運氣。工作,但沒有任何其他符號像!!#$%@%#$ @,`
我的知識是有限的,當涉及正則表達式。任何幫助將非常感激!
編輯:
發佈以下是匹配指定的字符,並創建一個塞出來,用破折號作爲分隔符的功能:
$q_separator = preg_quote('-');
$trans = array(
'&.+?;' => '',
'[^a-z0-9 -]' => '',
'\s+' => $separator,
'('.$q_separator.')+' => $separator
);
$str = strip_tags($str);
foreach ($trans as $key => $val){
$str = preg_replace("#".$key."#i", $val, $str);
}
if ($lowercase === TRUE){
$str = strtolower($str);
}
return trim($str, '-');
因此,如果字符串是:的OnCE !曾幾何時#%@墨西哥
使用功能$$輸出將是:一次後,一時間,在墨西哥
這工作正常,但我想preg_match也排除希臘字符。
每個操作系統preg_match的重複問題? – mallix
他有一個很好的解決方案.. –