dongyingjiu0669 2014-07-18 15:28
浏览 17
已采纳

preg_match()检查没有[img] BB标签的图片网址,并使用PHP返回布尔值

In my text field I have images enclosed within [img] BB tags like

[img]http://i58.tinypic.com/i3yxar.jpg[/img]

and plain image URLs like

http://www.jonco48.com/blog/tongue1.jpg

I want preg_match to look for plain image urls and if found return 1 otherwise 0, How to do this???

Thanks

  • 写回答

4条回答 默认 最新

  • doucha4054 2014-07-18 15:42
    关注

    With regex is quite difficult to look for a pattern without a piece, in this case the img open and closure tag.

    So I would search the urls within the tag, then search all the urls and compare these counts

    $text = "";
    
    $tagPattern = "/\[img\].+?\[\/img\]/";
    preg_match_all($pattern, $text, $tagMatches);
    
    $urlInTagCount = count($tagMatches[0]);
    
    $plainPattern = "~https?://\S+\.(?:jpe?g|gif|png)(?:\?\S*)?(?=\s|$|\pP)~i";
    preg_match_all($pattern, $text, $plainMatches);
    
    $allUrlCount = count($plainMatches[0]);
    
    return $allUrlCount > $urlInTagCount;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么