我需要有关php正则表达式的帮助。 我有一个$ text变量。 例如:“ foo foo随机单词来电:+922432202229 随机单词foo words ” 我想从$ text中提取922432202229。 请注意,$ text也可以包含其他类似的数字,所以我只想要“来电:”之后的数字 这是我试过的:
$matches = array();
preg_match_all("/Caller Phone : +[0-9]{12}$/", $text, $matches);
$matches = $matches[0];
答案 0 :(得分:1)
您需要使用Phone:
收集()
后面的实际值,如下所示:
preg_match_all("/Caller Phone : ([0-9]+)$/", $text, $matches);
我还将{12}
更改为+
,因此只要会继续,您也会拥有所有数字。之后必须验证。
只有使用()
,您才会将值返回到$matches
变量。
答案 1 :(得分:0)
这应该更加灵活和安全:
$matches = array();
preg_match_all('/Caller Phone\s*:\s*\(+|)([0-9]{8,12})/i', $text, $matches);
$phones = $matches[2];
答案 2 :(得分:0)
您可以使用此代码
$matches = array();
preg_match_all("/Caller Phone:\+\d{12}/i", $text, $matches);
$matches = $matches[0];
如果您在$text
变量
$ text =“foo foo随机词来电者:+922432202229随机词foo words”;
它会在您给定的数据上显示此结果
Array
(
[0] => Array
(
[0] => Caller Phone:+922432202229
)
)