A parte il fatto che l'espressione regolare è sbagliata... puoi far tutto con un'unica funziona: preg_replace
Codice PHP:
$nuova_stringa preg_replace ('/Art\.[ ]*([0-9]{1,})/i''<art$1>'$stringa);