この正規表現を使用してドキュメントの小さなサブセットをキャプチャしようとしています。
preg_match('/href="(.+?)".+?>Keyword/s', $a, $b);
ただし、の直前をつかむのではなくhref=、ドキュメントのKeyword最初から始まり、まで下がっていきます。href=Keyword
どうすればそれをバックトラックしてhref=直前だけに保つことができKeywordますか?
この正規表現を使用してドキュメントの小さなサブセットをキャプチャしようとしています。
preg_match('/href="(.+?)".+?>Keyword/s', $a, $b);
ただし、の直前をつかむのではなくhref=、ドキュメントのKeyword最初から始まり、まで下がっていきます。href=Keyword
どうすればそれをバックトラックしてhref=直前だけに保つことができKeywordますか?
入力で、アンカータグで囲まれたテキストがタグと同じ行にある場合は、sフラグを削除できます。
それ以外の場合は、より具体的な正規表現が必要です。
'/href="[^"]*"[^<>]*>Keyword/'
hrefこれは、内部のリンクにが含まれていないことを前提としています"。は[^<>]、他のタグが一致の一部になるのを防ぎます。
"属性内にnoを含めることができると仮定すると、次のようにhrefして正規表現の調整を開始できます。
preg_match('/href="([^"]+?)".+?>Keyword/s', $a, $b);