Picco: preg_replace - Funktioniert nicht

Beitrag lesen

Hallo,
ich importiere eine Datei in eine andere und lasse nach Dingen filtern (klappt an sich wunderbar) aber ich kann einen bestimmten string einfach nicht raus filtern und ich weiß nicht warum

in der Navi steht es so(funktioniert bestens):

  
<ul>  
	<li><a href="1.php?sprache=<?php echo $sprache; ?>">1</a></li>  
	<li><a href="2.php?sprache=<?php echo $sprache; ?>">2</a></li>  
	<li><a href="download.php?sprache=<?php echo $sprache; ?>">Download</a></li>  
</ul>

dann wird die navi nach error.php importiert und gefiltert(funktioniert bis auf eine Sache auch gut - Nur eben die letzten beiden preg_replace funktionieren nicht):

/*seiten import*/  
	$a = file_get_contents('./navi.php');  
	$a = preg_replace( '!<a href="#">(.*)</a>!', '<u>\\1</u>', $a );  
	$a = preg_replace( '!class="nav"!', '', $a );  
	$a = preg_replace( '!%3C?php%20echo%20$sprache;%20?%3E!',  $sprache, $a );  
	$a = preg_replace( '!<?php echo $sprache; ?>!',  $sprache, $a );  
	echo $a;

im Quellcode steh es so:

  
<ul>  
	<li><a href="1.php?sprache=%3C?php%20echo%20$sprache;%20?%3E">1</a></li>  
	<li><a href="2.php?sprache=%3C?php%20echo%20$sprache;%20?%3E">2</a></li>  
	<li><a href="download.php?sprache=%3C?php%20echo%20$sprache;%20?%3E">Download</a></li>  
</ul>

im link steht es so:
http://piccoterra.cwsurf.de/download.php?sprache=<?php echo $sprache; ?>

und eigentlich sollte
http://piccoterra.cwsurf.de/download.php?sprache=de
oder
http://piccoterra.cwsurf.de/download.php?sprache=en
da stehen

weis jm was ich falsch gemacht habe?

schon mal danke fürs lesen ich freue mich auf die antworten :)