我希望从一个字符串中删除所有非阿拉伯语、非英语和非数字的字符,除了破折号 (-)。
我已经成功地删除了非英语字母数字字符,方法如下:
但它没有去除非字母数字字符!我还尝试了this answer,但也不起作用,它总是返回“0”!!
希望有人能够帮助我。
我已经成功地删除了非英语字母数字字符,方法如下:
$slug = ereg_replace('[^A-Za-z0-9-]', '', $string);
但对于非阿拉伯字母数字字符,我尝试像这样做:
$slug = ereg_replace('\p{InArabic}', '', $string);
但它没有去除非字母数字字符!我还尝试了this answer,但也不起作用,它总是返回“0”!!
$slug = preg_replace('/[^\x{0600}-\x{06FF}A-Za-z0-9-]/u','', $string);
希望有人能够帮助我。
ereg_replace
已被弃用。使用preg_replace
的正则表达式应该可以工作。您能提供一些它无法工作的示例字符串吗? - Totopreg_last_error()
的输出是什么?这段代码片段可以正常工作。 - Burhan Khalid