Problem, leider wiedermal: wie mach ich das...

heino-th

Erfahrenes Mitglied
Hallo,

da ich mich erst seite kurzem mit php beschäftige habe ich mal wieder ne Frage! :rolleyes:

Also ich hab z.B: die Variablen: $Wort, $folgeWort
Nun möchte ich z.B: das die einzelnen Buchstaben so ersetzt werden, mit str_replace denke ich:
A --> 01
B --> 02
...
Y --> 26
Z --> 27
...
usw... --> mit Kleinbuchstaben und Umlauten dann genauso...

Wenn jetzt die Variable $Wort den Inhalt "Hallo" hat, sollte jeder Buchstabe durch den jeweiligen Wert ersetzt werden und das umgewandelte Wort in die Variable $folgeWort abgelegt werden, nun weiß ich nicht wie ich vorgehen soll, da es ja sein kann das ein mehrere Buchstaben nicht im Wort vorkommen, außerdem möchte ich später $Wort aus einem Formular lesen, weshalb ja keine feste größe vorhanden ist,
schlussfolgernd: Ich hab überhaupt keinen Plan wie ich des machen könnte!
Wäre also sehr dankbar für Hilfe und vielleicht kann mir jemand die Funktionsweise dann auchnoch anhand von nem Beispiel erklären!

Vielen Dank

mfg heino
 
Also ich frag mich grad etwas nach dem Sinn der Sache, aber naja.
str_replace() ersetzt nur wenn was gefunden ist.
Wenn Du im Script also sagst, dass A durch 01 ersetzt werden soll, und A nicht gefunden wird, dann hast Du spaeter auch keine 01 im Ergebnis.
 
ok, des müsste ja dann nacheinander alle Buchstaben im $Wort abklappern und umwandeln, und wie sag ich dem dass der eins weiter gehen soll?(Sorry für dumme fragen, bin noch ziemlich neu in php!)
if-Schleife? Wie?
thx

mfg heino
 
Nein, Du musst nicht das Wort buchstabenweise abarbeiten.
Beispiel:
PHP:
$wort="ALOHA";
$wort=str_replace("A","01",$wort);
Jetzt enthaelt $wort folgendes: 01LOH01
Es werden also alle gefunden A durch 01 ersetzt.

Im Moment faellt mir leider keine Moeglichkeit von der Zahl zum Buchstaben zu kommen, sodass ich im Moment nur sagen kann, dass Du wohl ca. 60 fast gleiche Zeilen benoetigen wirst um alle gewuenschten Buchstaben abzudecken.
Beispiel: test.php
PHP:
<html>
<body>
<?php
if ($_POST["wort"])
 {
  $wort=$_POST["wort"];
  $wort=str_replace("A","01",$wort);
  $wort=str_replace("B","02",$wort);
  //und so weiter
  printf("Das Wort <b>%s</b> wurde in <b>%s</b> umgewandelt.<br>",$_POST["wort"],$wort);
 }
?>
<form method="post" action="test.php">
<input type="text" name="wort">
<input type="submit">
</body>
</html>
 
Schau Dir [phpf]str_replace[/phpf] einfach mal in der Referenz an. Da gibt es schöne Beispiele, unter anderem auch mit Arrays zum Suchen und ersetzen:
PHP:
$letters = array("A", "B", "C" /*,...*/);
$digits  = array("01","02","03" /*,...*/);

$digitString = str_replace($digits, $letters, $s);

Gruß hpvw

PS: if-Schleife
 
Wenn du hier deine Gedankengänge postest, also was du überhaupt machst,
mit dieser Ersetzerei erreichen willst, finden wir vielleicht noch ne einfachere, bessere Lösung.
 
Zurück