我想从整个句子中搜索一个电话号码。它可以是任何带有模式的数字,如(122)221-2172或122-221-2172或(122)-221-2172借助于PHP,我不知道该句号的哪个部分存在或者我可以使用substr。
答案 0 :(得分:0)
您可以使用regular expressions来解决此问题。不是100%的PHP语法,但我想它看起来像:
$pattern = '/^\(?\d{3}\)?-\d{3}-\d{4}/';
^
说“以”开头“
\(
逃脱了(
\(?
说0或1 (
\d{x}
确切地说x
个数字
答案 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);