我正在尝试提取某个链接,即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
如何修改代码以简单地获取此特定链接?
答案 0 :(得分:1)
只需将id捕获为\?id =(\ w +)