2012-10-23 29 views
5

ダッシュ( - )を除いて、アラビア語以外の非英語および非数字のチャレーターをすべてストリングから削除したい。アラビア語UTF8 +英文字列以外の英数字を削除する

私はこのような非英語文字の英数字のためにそれを行うために管理:

$slug = ereg_replace('[^A-Za-z0-9-]', '', $string); 

しかし、私はこのようにそれを実行しようとしました非アラビア文字の英数字のために:

$slug = ereg_replace('\p{InArabic}', '', $string); 

が、それはストリップのdidnt英数字以外の文字!私もthis answerを試しましたが、どちらもうまくいきませんでした。常に「0」を返します!!

$slug = preg_replace('/[^\x{0600}-\x{06FF}A-Za-z0-9-]/u','', $string); 

誰かが私を助けてくれることを願っています。

+1

'ereg_replace'が推奨されていません。 'preg_replace'の正規表現はうまくいくはずです。サンプル・ストリングを提供できますか? – Toto

+0

'preg_last_error()'の出力は何ですか?コードスニペットは機能します。 –

+0

ありがとうM42、それは "xdazz"答えの助けを借りて、皆さんありがとうございました。 –

答えて

9

は、以下試してみてください。

$slug = preg_replace('/[^\p{Arabic}\da-z-]/ui', '', $string); 
+0

ありがとう、チャームのように機能したxdazz! –

+0

@WaleedAsenderあなたは大歓迎です:) – xdazz

+0

良い1つは、私のために働いた –

関連する問題