REGEX - 获取内文
REGEX - get innertext
请帮我解决这个问题。
我坚持这个代码
我的内容:
<a href="/path/1232432432">Get Me</a>
<a href="/path/7845454354"><img src="imagelink.png" /></a>
<a href="#">Other link</a>
我要获取内文"Get Me"
我的正则表达式:/(?<=\/path\/)(?!.*img).*?(?=<\/a>)/g
我的结果:
1232432432">Get Me
我需要例外来获取项目,例如在“/路径/...”之后删除数字值
任何帮助将不胜感激,谢谢..
使用\K
在最后打印时丢弃先前匹配的字符。 \K 将文本匹配到整个正则表达式匹配之外。
\/path\/\d+">\K(?!.*img).*?(?=<\/a>)
$re = "~\/path\/\d+\">\K(?!.*img).*?(?=<\/a>)~m";
$str = "<a href=\"/path/1232432432\">Get Me</a>\n<a href=\"/path/7845454354\"><img src=\"imagelink.png\" /></a>\n<a href=\"#\">Other link</a>";
preg_match_all($re, $str, $matches);
print_r($matches);
也许……?
/(?<=\/path\/1232432432">)(?!.*img).*?(?=<\/a>)/g
(?<=\/path\/)(?!.*img)[^"]+">(.*?)(?=<\/a>)
您可以使用群组来使用您自己的 regex.See 演示来捕捉您想要的内容。
https://regex101.com/r/sH8aR8/62
$re = "/(?<=\/path\/)(?!.*img)[^\"]+\">(.*?)(?=<\/a>)/m";
$str = "<a href=\"/path/1232432432\">Get Me</a>\n<a href=\"/path/7845454354\"><img src=\"imagelink.png\" /></a>\n<a href=\"#\">Other link</a>";
preg_match_all($re, $str, $matches);
使用这个:
/<a\s+(.*?)>(.*?)<\/a>/img
请帮我解决这个问题。 我坚持这个代码
我的内容:
<a href="/path/1232432432">Get Me</a>
<a href="/path/7845454354"><img src="imagelink.png" /></a>
<a href="#">Other link</a>
我要获取内文"Get Me"
我的正则表达式:/(?<=\/path\/)(?!.*img).*?(?=<\/a>)/g
我的结果:
1232432432">Get Me
我需要例外来获取项目,例如在“/路径/...”之后删除数字值
任何帮助将不胜感激,谢谢..
使用\K
在最后打印时丢弃先前匹配的字符。 \K 将文本匹配到整个正则表达式匹配之外。
\/path\/\d+">\K(?!.*img).*?(?=<\/a>)
$re = "~\/path\/\d+\">\K(?!.*img).*?(?=<\/a>)~m";
$str = "<a href=\"/path/1232432432\">Get Me</a>\n<a href=\"/path/7845454354\"><img src=\"imagelink.png\" /></a>\n<a href=\"#\">Other link</a>";
preg_match_all($re, $str, $matches);
print_r($matches);
也许……?
/(?<=\/path\/1232432432">)(?!.*img).*?(?=<\/a>)/g
(?<=\/path\/)(?!.*img)[^"]+">(.*?)(?=<\/a>)
您可以使用群组来使用您自己的 regex.See 演示来捕捉您想要的内容。
https://regex101.com/r/sH8aR8/62
$re = "/(?<=\/path\/)(?!.*img)[^\"]+\">(.*?)(?=<\/a>)/m";
$str = "<a href=\"/path/1232432432\">Get Me</a>\n<a href=\"/path/7845454354\"><img src=\"imagelink.png\" /></a>\n<a href=\"#\">Other link</a>";
preg_match_all($re, $str, $matches);
使用这个:
/<a\s+(.*?)>(.*?)<\/a>/img