手机号码长度为11个字符,号码始终以07开头。
我想从字符串中捕获手机号码..下面是几个例子:
$String1 = "Text Text Text 07751 123 456 Text Text";
$String2 = "Text Text Text 07751 123456 Text Text"
$String3 = "Text Text Text 07751 123456. Text Text"
$String4 = "Text Text Text 07751123456, Text Text"在PHP中怎么做呢?
发布于 2012-02-21 06:56:35
您可以使用以下命令删除所有非数字字符:
function remove_non_numeric($string) {
return preg_replace('/\D/', '', $string)
}通过该检查,它以07开始,依此类推。
发布于 2012-02-21 06:57:24
试试这个:
$numbers = array();
preg_match_all('/[0-9\\- ]{6,}/', $string, $numbers);
print_r($numbers);它应该匹配由5个或更多0-9、短划线和空格字符组成的所有数字(您可以调整此数字)。
发布于 2012-02-21 07:07:05
/\b(?<myNumber>07[\d\s]+?)(?=[^\d\s])/编辑:如果你可以说‘数字中可能有空格,但最多2个’,你可以添加范围(占尾随空格),伪验证长度:
/\b(?<myNumber>07[\d\s]{9,12})(?=[^\d\s])/ “单词边界,后面跟着一系列空格/数字,从07 (myNumber)开始,总共最多有14个字符(11+3空格),但在最后看一看非数字,非空格(数据中的字母或点),这样我们就知道我们得到了完整的数字”。(然后从结果中删除空格)
https://stackoverflow.com/questions/9369666
复制相似问题