Se la struttura è sempre la stessa, puoi fare cosi:
Codice PHP:
<?php
    $string 
'<ul>
<li><a href="https://www.link1.com" target="_blank">Titolo 1</a>&nbsp;&nbsp;<font color="#6f6f6f">FONTE 1</font></li>
<li><a href="https://www.link2.com" target="_blank">Titolo 2</a>&nbsp;&nbsp;<font color="#6f6f6f">FONTE 2</font></li>
<li><a href="https://www.link3.com" target="_blank">Titolo 3</a>&nbsp;&nbsp;<font color="#6f6f6f">FONTE 3</font></li>
</ul>'
;
    
$elements preg_match_all('#<li><a href="(.*)" target="_blank">(.*)</a>&nbsp;&nbsp;<font color="\#6f6f6f">(.*)</font></li>#'$string$resultsPREG_SET_ORDER);
    foreach(
$results as $result){
        echo 
'link: '.$result[1].'<br />';
        echo 
'titolo: '.$result[2].'<br />';
        echo 
'fonte: '.$result[3].'<br />';
        echo 
'<hr />';
    }