ereg_replace为preg_replace(英文电话号码)


ereg_replace to preg_replace (English Phone Numbers)

Regex似乎是我的氪石。

如何转换:

ereg_replace('[^0-9]+','',str_replace("+", "00", $number))

至:

preg([something])

来自:http://james.cridland.net/code/format_uk_phonenumbers.htmlId尝试将第一个参数更改为/[^0-9]+和`/[^0-9]+/,以及这两个无引号,但都不起作用。恐怕我是regex新手。

您需要在preg_replace():的模式部分中包含php分隔符

preg_replace('~[^0-9]+~', '', str_replace("+", "00", $number));
            //^       ^

试试这个:

preg_replace("/[^[:alpha:][:space:]]+/ui", '', str_replace("+", "00", $number));

来自这个问题。

可以在此处找到字符类:https://php.net/manual/en/regexp.reference.character-classes.php