php - 正则表达式查找所有 URL 和标题

标签 php regex url

我想从一段文本中提取所有的 url 和标题。

Les <a href="http://test.com/blop" class="c_link-blue">résultats du sondage</a> sur les remakes et suites souhaités sont <a href="http://test.com" class="c_link-blue">dans le blog</a>.

由于以下正则表达式,我能够获得所有 href,但我不知道如何另外获得 <a></a> 之间的标题标签?

preg_match_all('/<a.*href="?([^" ]*)" /iU', $v['message'], $urls);

最好是得到一个这样的关联数组

[0] => Array
(
   [title] => XXX
   [link] => http://test.com/blop
)
[1] => Array
(
   [title] => XXX
   [link] => http://test.com
)

谢谢你的帮助

最佳答案

如果你仍然坚持使用正则表达式来解决这个问题,你也许可以用这个正则表达式解析一些:

<a.*?href="(.*?)".*?>(.*?)</a>

请注意,它不像您那样使用 U 修饰符。

更新:要让它接受单引号和双引号,您可以改用以下模式:

<a.*?href=(?:"(.*?)"|'(.*?)').*?>(.*?)</a>

关于php - 正则表达式查找所有 URL 和标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7878604/

相关文章:

php - 无法使用 PHP 在 MySql 中插入数据

regex - 允许特定文件通过 https 运行

java - 浏览器后退按钮如何处理自动 URL 重定向?

php - 插入/更新问题(相同记录重复,不能再输入)

php - 使用过滤器 wpseo_title 更改标题标签

php - 连接mssql后utf-8无法插入mysql

javascript - 使用正则表达式替代 HTML 解析

javascript - 在前面的帖子中没有涉及的情况下否定 Javascript 中的正则表达式

Codeigniter HMVC 多个 url 加载相同的形式什么是处理这种情况的最佳实践

python - PyQt:setStyleSheet url() 中的特殊字符