doudui6756 2014-01-29 15:37
浏览 39
已采纳

如何从数组中找到字符串中的“http”?

In PHP I have an array like this:

array
  0 => string 'open' (length=4)
  1 => string 'http://www.google.com' (length=21)
  2 => string 'blank' (length=5)

but it could also be like:

array
  0 => string 'blank' (length=5)
  1 => string 'open' (length=4)
  2 => string 'http://www.google.com' (length=21)

now it is easy to find "blank" with in_array("blank", $array) but how can I see if one string is starting with "http"?

I've tried with

array_search('http', $array); // not working
array_search('http://www.google.com', $array); // is working

now everything after `http? could vary (how to write vary, varie? could be different is what I mean!)

Now do I need a regex or how can I check if http exists in array string?

Thanks for advices

  • 写回答

4条回答 默认 最新

  • dtyqeoc70733 2014-01-29 15:44
    关注

    "Welcome to PHP, there's a function for that."

    Try preg_grep

    preg_grep("/^http\b/i",$array);
    

    Regex explained:

    /^http\b/i
     ^\  / ^ `- Case insensitive match
     | \/  `--- Boundary character
     |  `------ Literal match of http
     `--------- Start of string
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥20 关于变压器的具体案例分析
  • ¥15 生成的QRCode圖片加上下載按鈕
  • ¥15 板材切割优化算法,数学建模,python,lingo
  • ¥15 科来模拟ARP欺骗困惑求解
  • ¥100 iOS开发关于快捷指令截屏后如何将截屏(或从截屏中提取出的文本)回传给本应用并打开指定页面
  • ¥15 unity连接Sqlserver
  • ¥15 图中这种约束条件lingo该怎么表示出来
  • ¥15 VSCode里的Prettier如何实现等式赋值后的对齐效果?
  • ¥20 keepalive配置业务服务双机单活的方法。业务服务一定是要双机单活的方式
  • ¥50 关于多次提交POST数据后,无法获取到POST数据参数的问题