*Markus: str_replace "vergisst" Ersetzungen

Beitrag lesen

Hallo,

mittlerweile kann ich schon mal behaupten, dass es sich nicht um fehlerhafte PHP-Funktionen handelt, denn wenn ich die selbe Überprüfungsklasse in einer anderen Datei einbinde, funktioniert es komischerweise wie es soll:

  
<?php  
  
include_once("CheckArtikel.php");  
  
	 if (isset($_REQUEST['save']))   {  
	 	 $text = $_REQUEST['testtext'];  
	 	 $warengruppe = 8;  
	 	  
	 	 $checker = new CheckArtikel();  
	 	 $text = $checker->checkStrichcode($text,$warengruppe);  
	 	 echo $text;  
	 			  
	 }  
	 else  {  
echo <<<EOT  
	<html>  
	<head><title>test</title></head>  
	<body>  
	 <form method="post" action="">  
	 <input type="text" name="testtext" value="">  
	 <input type="submit" name="save" value="submit">  
	 </form>  
	</body>  
	</html>  
EOT;  
	 }  
?>  
  
{/code]  
  
So sieht die Orginalmethode aus:  
[code lang=php]  
	 public function checkStrichcode($strichcode, $warengruppe)  {  
	 		if ($warengruppe == 9)			  
	 			 return true;  
	 			  
	 		$strichcode = trim($strichcode);  
	 		$strichcode = preg_replace('/[\s\t]/', '', $strichcode);  
	 		$strichcode = str_replace(' ', '', $strichcode);  
	 		if (is_numeric($strichcode) && (strlen($strichcode) <= 20) )  
	 			return $strichcode;  
	 			  
	 		return false;  
	 }  

Es ist mir noch immer absolut schleierhaft, wie es zu diesem Verhalten kommt.

Markus