PHP Regex从正文中提取特定链接

时间:2016-11-17 09:05:00

标签: php regex

我正在尝试提取某个链接,即https://www.amazon.com/order?id= *其中*是一个可变长度的字母数字字符串,例如。来自html文本正文的https://www.amazon.com/order?id=pbW14792Zs86165,其中一个例子是

To view your order details, click this link:<br /><a href=https://www.amazon.com/order?id=pbW14792Zs86165>https://www.amazon.com/order?id=pbW14792Zs86165</a><br><br><strong>Amazon</strong><br />Browse millions of products. <a href='https://www.amazon.com'>https://www.amazon.com</a><br /><br />

我已经尝试了以下代码,但它获得了链接以及其他html标签和更多文本

preg_match("/(?:^|(?<=[,.\s\"\>]))https:\/\/www\.amazon\.com\/order\?id=\S+(?=[\<\"\s,.]|$)/",$message,$matches); echo "$matches[0]<br>";

我得到的输出是不受欢迎的

https://www.amazon.com/order?id=pbW14792Zs86165</a><br><br><strong>Amazon</strong><br

如何修改代码以简单地获取此特定链接?

1 个答案:

答案 0 :(得分:1)

只需将id捕获为\?id =(\ w +)