【问题标题】:preg match for this pattern [duplicate]此模式的预匹配[重复]
【发布时间】:2013-10-22 00:37:24
【问题描述】:

我正在尝试从预赛中获取链接,但它没有提供任何输出

这是模式:

    <a href="http://media1.xyz.com/full5/Animals/Rabbits/rabbits-16a.jpg" download="rabbits-16a"><img onmouseover="showFullScreen('inline')" onmouseout="showFullScreen('none')" src="http://media1.xyz.com/full5/Animals/Rabbits/rabbits-16a.jpg" id="wall" border="0" align="middle"  width="1920" height="1080"  alt="Rabbits 1920x1080 Wallpaper # 17" title="Rabbits HD Wallpaper #17" /></a>

我试过这个:

     preg_match("/\<a href=/\"(.*)\">/",$str,$title);

我只想获取href的链接。

【问题讨论】:

  • $str 的值是多少?
  • 你至少应该激活错误报告! 3v4l.org/Y5kiL

标签: php regex preg-match


【解决方案1】:

使用这种匹配模式应该可以工作

'/href=\"(.*?)\"/s'

我用它来匹配我从 IMAP 电子邮件解析的图像标签中的源(原始形式 '/src=\"(.*?)\"/s' 但是只需将 src 更改为 href 即可匹配您

【讨论】:

    【解决方案2】:
    $input = '<a href="http://media1.xyz.com/full5/Animals/Rabbits/rabbits-16a.jpg" download="rabbits-16a"><img onmouseover="showFullScreen(\'inline\')" onmouseout="showFullScreen(\'none\')" src="http://media1.xyz.com/full5/Animals/Rabbits/rabbits-16a.jpg" id="wall" border="0" align="middle"  width="1920" height="1080"  alt="Rabbits 1920x1080 Wallpaper # 17" title="Rabbits HD Wallpaper #17" /></a>';
    
    preg_match('/href=\"(.+?)\"/',$input,$title);
    
    echo $title[1];
    

    将输出:

    http://media1.xyz.com/full5/Animals/Rabbits/rabbits-16a.jpg
    

    http://3v4l.org/QnJ9e

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-27
      • 1970-01-01
      • 2017-04-03
      • 1970-01-01
      • 2013-10-09
      相关资源
      最近更新 更多