Wal*_*der 5 php regex utf-8 arabic ereg-replace
我想从字符串中删除所有非阿拉伯语,非英语和非数字字符,除了破折号( - ).
我设法为非英语字母数字字符这样做:
$slug = ereg_replace('[^A-Za-z0-9-]', '', $string);
Run Code Online (Sandbox Code Playgroud)
但对于非阿拉伯语字母数字字符,我试图这样做:
$slug = ereg_replace('\p{InArabic}', '', $string);
Run Code Online (Sandbox Code Playgroud)
但它没有删除非字母数字字符!我也试过这个答案,但它也没有用,它总是返回'0'!
$slug = preg_replace('/[^\x{0600}-\x{06FF}A-Za-z0-9-]/u','', $string);
Run Code Online (Sandbox Code Playgroud)
希望有人可以帮助我.
试试以下内容:
$slug = preg_replace('/[^\p{Arabic}\da-z-]/ui', '', $string);
Run Code Online (Sandbox Code Playgroud)