用于从HTML页面查找和定位动态URL的PHP preg_Match

2022-03-29 00:00:00 regex php preg-match

我需要有关REGEX的帮助,该REGEX将根据链接插入到HTML页面的方式来查找不同格式的链接。

我能够将页面读入PHP。只是无法找到正确的REGEX来查找URL并将其隔离。

我有几个关于如何插入它们的示例。其中有时它们是纯文本链接,其中一些是围绕它们的。甚至还会出现插入不属于链接一部分的文本而不留空格的情况。

文章ID和文章键从不相同。但是,项目键始终以数字结尾。如果这是可能的,我肯定需要帮助。谢谢

Here are a few examples.
http://www.example.com/ArticleDetails.aspx?ArticleID=3D10045411&AidKey=3D-2086622941

http://example.com/ArticleDetails.aspx?ArticleID=10919199&AidKey=1956996566    

<a href="http://www.example.com/ArticleDetails.aspx?ArticleID=10773616&amp;AidKey=1998267392">http://www.example.com/ArticleDetails.aspx?ArticleID=10773616&amp;AidKey=1998267392</a>

<a href="http://www.example.com/ArticleDetails.aspx?ArticleID=10773616&amp;AidKey=1998267392">This is a link description</a>

http://example.com/ArticleDetails.aspx?ArticleID=10975137&AidKey=701321736this is not part of the url.

最后我只是在寻找URL。

http://example.com/ArticleDetails.aspx?ArticleID=10975137&AidKey=701321736

解决方案

此正则表达式适合我:

/http://(www.)?example.com/ArticleDetails.aspx?ArticleID=(.*?)(&|&amp;)AidKey=([dw-]*)/g

更新: 我在正则表达式的末尾添加了d

/http://(www.)?example.com/ArticleDetails.aspx?ArticleID=(.*?)(&|&amp;)AidKey=([dw-]*)d/g

要在PHP中使用它,您需要/.../msi

运行中的PHP示例:http://ideone.com/N0TKM

相关文章