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!!!