搜索数字模式

时间:2013-08-06 05:33:36

标签: php string phone-number text-search

我想从整个句子中搜索一个电话号码。它可以是任何带有模式的数字,如(122)221-2172或122-221-2172或(122)-221-2172借助于PHP,我不知道该句号的哪个部分存在或者我可以使用substr。

2 个答案:

答案 0 :(得分:0)

您可以使用regular expressions来解决此问题。不是100%的PHP语法,但我想它看起来像:

$pattern = '/^\(?\d{3}\)?-\d{3}-\d{4}/';

^说“以”开头“ \(逃脱了( \(?说0或1 (
\d{x}确切地说x个数字

您可能还想查看Using Regular Expressions with PHP

答案 1 :(得分:0)

 $text = 'foofoo 122-221-2172 barbar 122 2212172 foofoo ';
$text .= ' 122 221 2172 barbar 1222212172 foofoo 122-221-2172';

$matches = array();

// returns all results in array $matches
preg_match_all('/[0-9]{3}[\-][0-9]{6}|[0-9]{3}[\s][0-9]{6}|[0-9]{3}[\s][0-9]{3}[\s][0-9]{4}|[0-9]{9}|[0-9]{3}[\-][0-9]{3}[\-][0-9]{4}/', $text, $matches);
$matches = $matches[0];

var_dump($matches);