

下記のように `href` が `#title` から始まる `<a>` タグとその後ろの `<br>` タグを全て削除したいのですが、  
現在のコードだと上手く `preg_match_all` が動作していません。  
どう変更すればよいでしょうか？

**$content**

[code]

    <p>
    <a href="#title1">stack</a>
    <br>
    <a href="#title2">overflow</a>
    <br>
    </p>
    
[/code]

**現在のコード**

[code]

    if (preg_match_all('|<a href="#title.*?">(.*?)</a><br>|mis', $content, $matches, PREG_SET_ORDER)) {
        if (!empty($matches)) {
            $content = preg_replace('|<a href="#title.*?">(.*?)</a><br>|mis', '', $content);
        }
    }
    
[/code]


CC BY-SA 4.0
2021-04-11T13:13:46.657
75210
2021-04-11T13:41:18.393
43875
question
php 正規表現
preg_match_all 意図した通りに正規表現をマッチさせたい


`</a>` と `<br>` の間に改行コード（`\r\n` or `\r` or `\n`）が入っているのではないかと思うので、該当部分を

[code]

    </a>(\r\n|\r|\n)<br>
    
[/code]

としたらどうでしょうか？


CC BY-SA 4.0
2021-04-11T13:41:18.393
75211
2021-04-11T13:41:18.393
7290
75210
answer