PHP preg_match函数从字符串中获取电话号码
这是我的PHP代码。我需要一个正则表达式来获得所需的输出PHP preg_match函数从字符串中获取电话号码,php,preg-match,str-replace,Php,Preg Match,Str Replace,这是我的PHP代码。我需要一个正则表达式来获得所需的输出 $str = 'abc:123,phoneNumber:631 741-4498, fdsfdsf, hgjhtg,juiy'; 预期输出:631741-4498 $str = 'abc:123,phoneNumber:+123 423, fdsfdsf, hgjhtg,juiy'; 预期输出:+123 423 $str = 'abc:123,phoneNumber:+(123) 423-727, fdsfdsf, hgjhtg,ju
$str = 'abc:123,phoneNumber:631 741-4498, fdsfdsf, hgjhtg,juiy';
预期输出:631741-4498
$str = 'abc:123,phoneNumber:+123 423, fdsfdsf, hgjhtg,juiy';
预期输出:+123 423
$str = 'abc:123,phoneNumber:+(123) 423-727, fdsfdsf, hgjhtg,juiy';
预期输出:+(123)423-727
这是我试过的
$str = 'abc:123,phoneNumber:631 741-4498, fdsfdsf, hgjhtg,juiy';
$str = str_replace(" ","",$str);
preg_match('/phoneNumber:\s*(.*)/', $str, $matches);
将正则表达式更改为
/(\d+\d+\-\d+/
您好,我想要电话号码和第一个逗号之间的字符串。中间的字符串每次都会更改。它可能+1234或任何其他。请编辑您的问题并提供所有可能的字符串字符集。您能正确编辑问题吗。所以任何人想要它都可以很容易得到。谢谢。当然可以@RoshanDandgavhal
<?php
$str = 'abc:123,phoneNumber:631 741-4498, fdsfdsf, hgjhtg,juiy';
preg_match('/(\d+ \d+\-\d+)/', $str, $matches);
print_r($matches[0]);
<?php
$str = 'abc:123,phoneNumber:631 741-4498, fdsfdsf, hgjhtg,juiy';
preg_match('/phoneNumber:[a-zA-Z0-9\ \+\-(\(\))]+/', $str, $matches);
print_r( str_replace("phoneNumber:", "", $matches[0]) );