Hilfe - zu viel replace :(

Crowner

Mitglied
Hi leute, ich hab nirgends herausgefunden, wie ich deses problem lösen kann.
Ich möchte auf meiner Seite eine Codierfunktion einbauen, nun habe ich aber das problem, dass buchstaben, die zum teil codiert wurden, nocheinmal codiert werden! (Bsp. a wird durch b ersetzt, im nachhinein wird b noch durch c ersetzt, dabei sollte a = b sein)
Hoffe, dass mir da jemand helfen kann:
Code:
<html>
<head>
</head>
<body>

<form name="form1" method="post" action="">
  <input name="text" type="text" id="text2">  
  <input type="submit" name="Submit" value="Senden">
</form>
<p>
<table width="600" border="1" cellpadding="1" cellspacing="1">
  <tr>
    <td width="200">Originaltext:</td>
    <td width="200">Code:</td>
    <td width="200">Code-Decodiert:</td>
  </tr>
  <tr>
    <td><?
  echo $text;
?></td>
    <td><?
 $string = $text;
  $string = ereg_replace("a", "&amp;#97;", $string);
  $string = ereg_replace("b", "&amp;#98;", $string);
  $string = ereg_replace("c", "&amp;#99;", $string);
  $string = ereg_replace("d", "&amp;#100;", $string);
  $string = ereg_replace("e", "&amp;#101;", $string);
  $string = ereg_replace("f", "&amp;#102;", $string);
  $string = ereg_replace("g", "&amp;#103;", $string);
  $string = ereg_replace("h", "&amp;#104;", $string);
  $string = ereg_replace("i", "&amp;#105;", $string);
  $string = ereg_replace("j", "&amp;#106;", $string);
  $string = ereg_replace("k", "&amp;#107;", $string);
  $string = ereg_replace("l", "&amp;#108;", $string);
  $string = ereg_replace("m", "&amp;#109;", $string);
  $string = ereg_replace("n", "&amp;#110;", $string);
  $string = ereg_replace("o", "&amp;#111;", $string);
  $string = ereg_replace("p", "&amp;#112;", $string);
  $string = ereg_replace("q", "&amp;#113;", $string);
  $string = ereg_replace("r", "&amp;#114;", $string);
  $string = ereg_replace("s", "&amp;#115;", $string);
  $string = ereg_replace("t", "&amp;#116;", $string);
  $string = ereg_replace("u", "&amp;#117;", $string);
  $string = ereg_replace("v", "&amp;#118;", $string);
  $string = ereg_replace("w", "&amp;#119;", $string);
  $string = ereg_replace("x", "&amp;#120;", $string);
  $string = ereg_replace("y", "&amp;#121;", $string);
  $string = ereg_replace("z", "&amp;#122;", $string);

  	echo $string;
?></td>
    <td><?
	$string2 = $string;
  $string2 = ereg_replace("&amp;", "&", $string2);
  echo $string2;
?></td>
  </tr>
</table>
</p>
</body>
</html>

Gruss Crowner
 
Zuletzt bearbeitet:
Am besten Du packst alle subjects und alle replacer in jeweils ein numerisches Array und benutzt einen Str_replace();

Wenn Du mit z anfängst sollte dieses "kumulative" replacen nich vorkommen

PHP:
$subz = array('&#122','&#121','&#120'); //usw...

$repz = array('z','y','x'); //usw...


$string = str_replace($repz,$subz,$string);

hth...
 
Hmm, danke für die antwort, hab das ganze mal versucht zu verwirklichen:
Code:
<?
$string = $text;
$repz = array('z','y','x','w','v','u','t','s','r','q','p','o','n','m','l','k','j','i','h','g','f','e','d','c','b','a');
$subz = array('&amp;#122;','&amp;#121;','&amp;#120;','&amp;#119;','&amp;#118;','&amp;#117;','&amp;#116;','&amp;#115;','&amp;#114;','&amp;#113;','&amp;#112;','&amp;#111;','&amp;#110;','&amp;#109;','&amp;#108;','&amp;#107;','&amp;#106;','&amp;#105;','&amp;#104;','&amp;#103;','&amp;#102;','&amp;#101;','&amp;#100;','&amp;#99;','&amp;#98;','&amp;#97;'); 
$string = str_replace($repz,$subz,$text);
echo $string;
?>
aber es funktioniert immernochnicht :(
könnte es an den sonderzeichen liegen?
"&amp;" steht für "&"
("&amp;" im quelltext = "&" im IE)
(damit im IE bsp. "a"(der code) und nicht "a" angezeigt wird) wenn im quelltext "a" steht, wird im IE ja dann "a" angezeigt!
Kompliziert, ich weiss :rolleyes: aber ich hoffe ihr versteht mich und könnt mir helfen plz.

MfG Crowner
 
Zuletzt bearbeitet:
Versuch mal:

$string = str_replace($repz,$subz,$text);

durch

$string = str_replace($repz,$subz,$string);

zu ersetzen.


Mfg Shorty
 
Zurück