se non ho capito male
$valore="xx";
$string='<html>... <input name="esempio" id="esempio1" value="$valore" /> ....</html>';
$find="<input name="esempio" id="esempio1" value="$valore"/>";
$replace="<select name="esempio" id="esempio1">....</select>";
dando un valore a (per esempio) $valore si valorizza sia su $string che su $find cosi sono identiche e si possono sostituire!!!