【发布时间】:2014-08-01 12:53:32
【问题描述】:
我只需要使用 PHP 提取 URL 的一部分,但我正在努力达到提取应该停止的设定点。我使用正则表达式从较长的字符串中提取整个 URL,如下所示:
$regex = '/\b(https?|ftp|file):\/\/[-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i';
preg_match_all($regex, $href, $matches);
结果是以下字符串:
http://www.cambridgeenglish.org/test-your-english/&sa=U&ei=a4rbU8agB-zY0QWS_IGYDw&ved=0CFEQFjAL&usg=AFQjCNGU4FMUPB2ZuVM45OoqQ39rJbfveg
现在我只想提取这个位http://www.cambridgeenglish.org/test-your-english/。我基本上需要摆脱从 &amp 开始的所有内容。
有人知道如何实现这一目标吗?我需要运行另一个正则表达式,还是可以将其添加到最初的正则表达式中?
【问题讨论】:
-
我想我会使用下面的 Avinash Raj 的解决方案。对我来说效果很好。感谢您的评论!
标签: php regex html-content-extraction