Ciao a tutti, sto cercando di pulire il codice html generato eliminando tutti gli attributi ad eccezzione di "id" "src" "href", utilizzo regex così

Codice PHP:
$content preg_replace("/<(\w+)\s*(?:(?:(?:(?!src=|id=|href=)[^>]))*((?:src|id|href)=['\"][^'\"]*['\"]\s*)?)(?:(?:(?:(?!src=|id=|href=)[^>]))*((?:src|id|href)=['\"][^'\"]*['\"]\s*)?)(?:(?:(?:(?!src=|id=|href=)[^>]))*((?:src|id|href)=['\"][^'\"]*['\"]\s*)?)[^>]*>",'<$1 $2 $3>'$content); 
ma non funziona, qualcuno ha già una query regex pronta?