-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>";
私が手出力を取得これは望ましくありません
この特定のリンクだけを取得するようにコードを変更するにはどうすればよいですか?
「\ S」は空白以外のものと一致します。したがって、一致させたいもので置き換える必要があります。おそらく '\ w'が良いです - 文字、数字、アンダースコアにマッチします。 –
id = \ w + – MYGz
というIDを単に抽出するだけではありません。idを\ id =(\ w +)としてキャプチャしてください。 – MYGz