これは非常に単純であるため、明らかな何かが欠けていることは確かですが、ここに私が直面している問題があります。
Web サイトをスクレイピングする際に、次のような形式のリンクをいくつか引っ張っています。
<a href="/test.php?var1=123&var2=456&var3=789">SomeString</a>
場合によっては、リンクの一部が次のようになります。
<a href="/test.php?var1=123&var2=456&var3=789" title="sometitle">SomeString</a>
次のような正規表現を使用すると機能しますが、望ましくない一致が追加されます。
'/<a href=\"/test.php\?var1=([0-9]+)&var2=([0-9]+)&var3=([0-9]+)\"(^.*?)>(^.*?)<\/a>'
したがって、明らかに、ここでは望ましくない一致が得られますが、「タイトル」変数が表示される可能性が考慮されています。preg_match_all() に「ここに何かがあるかもしれませんが、無視する必要があります」と伝える方法はありますか、それが見つかった場合は一致しますか?
ありがとう。
明確ではなかったため、編集します。
私の元の例では、var1、var2、var3 が何に等しいか、および と の間のテキスト (私の例では SomeString) を調べたいと考えています。多くの結果を含むページを通過している場合、文字列内に「title =」が含まれていることがあり、正規表現が無効になります。だから、「ここにあるかもしれないが、一致しない、無視してください」と伝えたいのです。