PHP-提取href和text的正则

发布于 2016-12-21 00:38:25 字数 286 浏览 1125 评论 3

目前用的这个正则 <[a|A][^<>]href="([^"]+)"[^<>]>([^<>]+)</[a|A]>
可以匹配出诸如

<a href="url1.html">text1</a>
<a href="url1.html" target="_blank">text1</a>
<a class="c1" href="url1.html">text1</a>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

虐人心 2017-09-01 11:53:13

正则也有些问题,改了一下,中间的a标签之间的所有内容一次性匹配出来,然后用php的strip_tags去掉html标签,就剩下内容了,代码如下

 <?php
$str = '<a href="url1.html"><span>text1</span></a>';
$reg = '#<a[^<>]+href="([^"]+)"[^<>]*>(.+?)</a>#i';
preg_match($reg,$str,$match);
var_dump(strip_tags($match[2]));
?>

灵芸 2017-06-21 21:31:28

php

 preg_match_all('%<a[sS]*?href="([^"]+)[^>]+>([sS]*?)</a>%', $subject, $result, PREG_PATTERN_ORDER);
for ($i = 0; $i < count($result[0]); $i++) {
# Matched text = $result[0][$i];
// 采用如果下函数去除多余的html标签
// strip_tags($text);
}

javascript

 var myregexp = /<a[sS]*?href="([^"]+)[^>]+>([sS]*?)</a>/g;
var match = myregexp.exec(subject);
while (match != null) {
// matched text: match[0]
// match start: match.index
// capturing group n: match[n]
match = myregexp.exec(subject);
}

java

 try {
Pattern regex = Pattern.compile("<a[\s\S]*?href="([^"]+)[^>]+>([\s\S]*?)</a>");
Matcher regexMatcher = regex.matcher(subjectString);
while (regexMatcher.find()) {
// matched text: regexMatcher.group()
// match start: regexMatcher.start()
// match end: regexMatcher.end()
}
} catch (PatternSyntaxException ex) {
// Syntax error in the regular expression
}

归属感 2017-02-12 12:56:45

<[aA][^<>]href="([^"]+)"[^<>]>([^<>]+)</[aA]>
<[aA][^<>]href="([^"]+)"[^<>]>([^<>])?([^<][^aA][^>])([^<>]+)([^<]/[^aA][^>])?([^<>])?</[aA]>
貌似[]中 不用|分割选项 括号中才用的

这点 记住 至于是不是特定版本的实现就不太清楚了 我解释下中间替换的意义

([^<>])?([^<][^aA][^>])([^<>]+)([^<]/[^aA][^>])?([^<>])?
([^<>])?可以为除了<>之外的任意字符出现0-无数次
([^<]/[^aA][^>])不允许出现<a>
([^<>]+)?可以为除了<>之外的任意字符出现1-无数次
([^<]/[^aA][^>])? 不允许出现<a>
([^<>]
)?可以为除了<>之外的任意字符出现0-无数次

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文