php regex ,从 text/html 中提取电话号码
可能的重复:
php 正则表达式,从 html 文档中提取类似电话号码的正则表达式< /a>
我正在尝试从不同的 html 页面中提取电话号码。基本上,该信息是一个 10 位数字,可能有不同的形式,例如:
000-000-0000 000 - 000 - 0000 0000000000
please note that 000 - 000 - 0000000 is not a valid phone number so it should not extract the number if it contains any additional digits
如果您能帮助我创建适用于所有 3 种情况的完美正则表达式,我将不胜感激。到目前为止,我只能让它适用于最后一个(最简单的一个)。
Possible Duplicate:
php regex, extract like phone number regex from html documents
I'm trying to extract phone numbers from different html pages. Basically the information is a 10 digits number which may have different forms such :
000-000-0000 000 - 000 - 0000 0000000000
please note that 000 - 000 - 0000000 is not a valid phone number so it should not extract the number if it contains any additional digits
I would appreciate any help to create the perfect regex working on all the 3 situations . So far I could make it work only for the last one (the simplest one ).
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这是一个很好的起点:
注意非捕获子模式(看起来像
(?:stuff)
)。这使得格式化变得容易:还有一些示例结果:
如果您像您建议的那样允许空格和破折号,您可能会得到很多误报。
Here's a good starting point:
Note the non-capturing subpatterns (which look like
(?:stuff)
). That makes formatting easy:And some example results for you:
You'll probably get a lot of false positives if you allow spaces and dashes like you're suggesting.
如果您想允许无限制地组合 10 位数字,那么这样就可以了:
If you want to allow unlimited combinations of exactly 10 digits, then this will do the trick: