nessun errore, nn succede proprio nulla, come se nn entrasse nell' if ($preg > 0).
Codice PHP:
function troncaTesto($testo$caratteri 300) {
    if (
strlen($testo) <= $caratteri) {
        return 
$testo;
    }

    
$ultimo substr($testo, -1);
    
$preg preg_match("#<a(.*?)</a>#"$ultimo);
    if (
$preg 0) {
        
$caratteri 500;
        echo 
'<script type="text/javascript">alert("SI");</script>';
    }

    
$nuovo wordwrap($testo$caratteri"|");
    
$nuovotesto explode("|"$nuovo);
    return 
$nuovotesto[0] . "...";