私は、この文字列から2番目のURLを抽出する必要があります。テキストが繰り返され、新しい行が含まれている場合、テキスト間の部分文字列を取得する方法は?
$string = '<td class="table_td"> submitted by <a href="https://www.example.com/account/user" target="_blank" rel="nofollow"> account </a> <br>
<a href="https://www.URL-I-NEED.com/BKHHZu_A4lu" target="_blank" rel="nofollow">[site]</a> <a href="https://www.example.com/settings/user/" target="_blank" rel="nofollow">[settings]</a></td>';
私はthis solutionを試みたが、これらの設定を試してみました:
$startTag = ' <a href="';
$endTag = '" target';
しかし、それはそれらのため、最初のURLとない私は必要なものを返さタグは、必要な部分文字列の前にも表示されます。
改行の前に<br>
を追加して、$startTag
にしようとしましたが、文字列を返しませんでした。
基本的には$startTag
が{newline} <a href="
である必要がありますが、その改行の挿入方法を理解できません。
これは間違っていると思いますが、単純にその文字列からすべてのURLを抽出して単純に2番目のURLを選択するだけで簡単に行うことができます。
どちらの方法でも、上記の文字列の2番目のURLはどのように抽出できますか?
は、HTMLの解析のための正規表現を避けてください。 'DOM'パーサを使います。 – anubhava
正規表現の改行文字は '\ n'です。 – RToyo
@anubhavaこれには理由がありますか?私はそれについて読むのが大好きです:) – GrumpyCrouton