dsh102123 2013-03-08 07:56
浏览 29
已采纳

一个数字列表,同时剥离除数字之外的所有内容

I have a list of numbers like this:

123-4-5679 tha
546-5465-7 dsf
98-4564-64 ds8

I want to explode into it's own value while striping everything but the numbers. I am doing but it seems to keep everything but it does give me a value per line

$pn = preg_replace("//", "
", preg_replace("/
/", "
", $_POST['phone']));
$phone_numbers = explode("
", $pn);
  • 写回答

4条回答 默认 最新

  • dongtuo8170 2013-03-08 08:08
    关注

    You can also do it with one quick line in regex.

    preg_match_all(":([0-9-]+):mi", $_POST["phone"], $match);
    

    Here's an example

    Edit: To remove hyphens iterate through the results and replace the hyphens with an empty string

    preg_match_all(":([0-9-]+):mi", $_POST["phone"], $matches);
    
    // remove extra match array
    $matches = array_shift($matches);
    
    foreach( $matches as & $match )
    {
       $match = preg_replace(":-:", "", $match);
    }
    

    Updated example

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应
  • ¥15 matlab基于pde算法图像修复,为什么只能对示例图像有效
  • ¥100 连续两帧图像高速减法
  • ¥15 组策略中的计算机配置策略无法下发
  • ¥15 如何绘制动力学系统的相图
  • ¥15 对接wps接口实现获取元数据
  • ¥20 给自己本科IT专业毕业的妹m找个实习工作
  • ¥15 用友U8:向一个无法连接的网络尝试了一个套接字操作,如何解决?
  • ¥30 我的代码按理说完成了模型的搭建、训练、验证测试等工作(标签-网络|关键词-变化检测)