【发布时间】:2017-08-24 08:18:03
【问题描述】:
下一个链接示例返回 2 个以 \" 结尾的链接。示例文本中没有以 \" 结尾的链接。但是当我在 WordPress 网站的 preg_match_all() 函数下运行时,我得到了这个。
我需要解决这个问题并只获取链接不以 \"
结尾这里是我从中检索链接的文本示例:
$banner_link = '[<img src="https://i.stack.imgur.com/iJIOI.gif" width="300" height="250" border="0" alt="" />][2]
';
preg_match_all('!https?://\S+!', $banner_link, $matches);
$all_urls = $matches[0];
print_r($all_urls[0]);
echo '<br>';
print_r($all_urls[1]);
这里的结果都以\"结尾
https://mobico.nl/telefoon/?tt=26156_1144596_250041_&r=\"
http://ti.tradetracker.net/?c=26156&m=1144596&a=250041&r=&t=html\"
我可以使用 str_replace() 来做到这一点,但使用 preg_match_all() 函数可能是可能的。
【问题讨论】:
-
您的
$banner_link不包含``,请编辑您的输入数据 -
不明白你的意思。
-
输入字符串中
r=后面没有\"。preg_match_all()标识的 URL 以"结尾,因为regex过于宽松。 -
只是添加一些额外的信息。请再次阅读线程,我认为 WordPress 导致了这个问题。但我需要解决它。
标签: php regex preg-match-all