首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有正则表达式的搜索链接

具有正则表达式的搜索链接
EN

Stack Overflow用户
提问于 2013-10-30 10:02:19
回答 3查看 106关注 0票数 1

我是新的正则表达式。

我有一条短信:

代码语言:javascript
复制
$text =
'<ul style="list-style:none;">
  <li>
      <a href="files/docs/qwe.xls" target="_blank">Link1</a>
  </li>
  <li>
      <a href="files/docs/ere.xls" target="_blank">Link2</a>
  </li>
  <li>
      <a href="files/docs/123.xls" target="_blank">Link3</a>
  </li>
</ul>';

使用正则表达式,我希望得到以下数组:

代码语言:javascript
复制
$filePath[0] = "files/docs/qwe.xls";
$fileName[0] = "Link1";
$filePath[1] = "files/docs/ere.xls";
$fileName[1] = "Link2";
$filePath[2] = "files/docs/123.xls";
$fileName[2] = "Link3";

我该怎么做呢?

谢谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-10-30 10:09:40

使用

代码语言:javascript
复制
$res = array();
preg_match_all('/href="(.+?)".*?>(.+?)<\/a>/ims', $text, $res);
var_dump($res);
票数 0
EN

Stack Overflow用户

发布于 2013-10-30 10:12:34

您需要简单的正则表达式

检查这段代码

代码语言:javascript
复制
 $match = array();
 preg_match_all('#<a href="(.*?)">(.*?)</a>#sm', $text, $match);
 print_r($match)

(.*?) -意味着所有不贪婪的东西

票数 2
EN

Stack Overflow用户

发布于 2013-10-30 10:11:05

使用查找,他们是有用的检查是否有在字符串之前或之后,您正在寻找。以下是它的工作原理:

代码语言:javascript
复制
/(?<=href=")[^"]*(?=")/

以下是它的含义:

/起始

(?<=href=")前有href="

[^"]*任何非"字符的数字

(?=")"

/结束

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19679180

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档