私は質問に目を通し、自分の問題をよりよく理解しましたが、それでも答えは見つかりませんでした.
PHP の正規表現に問題があります。HTML ファイルの「alt」属性のすべてのテキストを取得しようとしています。考えられるすべてのタグ名 (img、input、および area) と、文字間のスペースや改行 (など<img alt = "Hello">
) などのあらゆる種類の偶発事象を考慮しています。また、一致文字列は一重引用符または二重引用符で囲み、内部に他の (異なる) 引用符を含めることができることにも注意する必要があり<img alt="Alan's picture">
ます<img alt='Example for the word "hello" in the text'>
。
これは私には難しくなってきているので (私は正規表現の初心者です)、得られたものをお見せします。文字クラス内で後方参照を使用しようとしていることに注意してください。これは間違った方法であることがわかりました (またはそう思います)。
'/<\s*(?:img|input|area)\s[^>]*alt\s*=\s*("|\')([^\1>]*)\1[^>]*>/siU'
また、StackOverflow で、このようなものに HTML パーサーを推奨する人もいますが、この方法でどれだけのリソースが消費されるか心配です。これはより良い考えだと思いますか?ありがとうございました!