2016-11-17 11 views
-3

特定のリンク、すなわちhttps://www.amazon.com/order?id= *を抽出しようとしています*は可変長の英数字の文字列です。 HTMLテキストの体からhttps://www.amazon.com/order?id=pbW14792Zs86165は、その一例として、私は次のコードを試してみましたPHP Regex本文からの特定のリンクの抽出

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>"; 

私が手出力を取得これは望ましくありません

この特定のリンクだけを取得するようにコードを変更するにはどうすればよいですか?

+0

「\ S」は空白以外のものと一致します。したがって、一致させたいもので置き換える必要があります。おそらく '\ w'が良いです - 文字、数字、アンダースコアにマッチします。 –

+0

id = \ w + – MYGz

+0

というIDを単に抽出するだけではありません。idを\ id =(\ w +)としてキャプチャしてください。 – MYGz

答えて

1

\ id =(\ w +)と入力してください。

関連する問題