preg_match_all で指定した正規表現が意図した通りマッチしない


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

**$content**

[code]

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

**現在のコード**

[code]

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

