Problem mit str_replace bzw. arrays

MaxMara

Mitglied
Hallo!

Ich möchte ein kleines Script erstellen, das folgende Aufgabe erfüllt:
Ein Text , der über ein Formular eingelesen wird, soll in einer Art "Grossschrift über Tables" umgewandelt werden. Im angehängten ZIP-File ist eine chars.php die mal 4 Testbuchstaben mit HTML-Code enthält.

Ich hab mir gedacht es wäre sinnvoll, das Ganze Buchstabe für Buchstabe in ein Array einzulesen und dann dieses Array mit einem str_replace durchzuarbeiten. Aber irgendwie führt das nicht zum gewünschten Ergebnis. :(

Ich hoffe ich hab mich halbwegs verständlich ausgedrückt. ;)

Vielen Dank für eure Hilfe und
Grüße aus Wien

Christian
 

Anhänge

Nein.
Ist schwer zu erklären: Ein eingegebener Text soll in schwarzen blöcken in einer Tabelle dargstellt werden. Also der Buchstabe D soll z.b. dann so aussehen:

d.jpg


Hoffe jetzt kennt man sich ein bisschen besser aus was ich meine ;)
Also kurz gesagt geht es darum, jeden Buchstaben aus einem Text durch einen längeren HTML-Code mit einer Tabelle zu ersetzen.

Danke!

Christian
 
Zuletzt bearbeitet:
PHP:
$arr1 = str_split('ABCD');

foreach($arr1 as $key => $value) {
	echo ${(ord($value) < 97 ? 'gross' : 'klein') . strtolower($value)};
}

Wenn Sonderzeichen, schau dir mal ord() und chr() an. Dann sagste einfach, if(ord($value) > xxxx ) dann Sonderzeichen...
 
Zuletzt bearbeitet:
Hi Sebastian!

Danke für den Beitrag. Nur ist es leider nicht das was ich brauche, bzw. gefragt habe. :-)
Ich brauch eine Funktion die mir Buchstaben (egal ob gross oder klein) durch einen von mir vorgegebenen HTML-Code ersetzt.

Grüße
Christian
 
Habe mir dein script mal angesehen

Zunächst mal würde ich unbedingt die variablen für alle buchstaben (also in chars.php) zu einem array machen

$html["a"] = ..
usw

dann kannst du dir ein einfaches script bauen, in etwa so:

PHP:
<? 
$str = "ab";

function atari($str){
	include ("chars.php");
	$str = strtolower($str);

	$buchstaben =  preg_split('//', $str, -1, PREG_SPLIT_OFFSET_CAPTURE);
	
	foreach($buchstaben as $buchstabe){
		echo $htmlarr["a"];
	}
}

atari($str);
?>

jetzt nicht perfekt getestet, aber das ist doch deutlich einfacher

gruss, dave
 
Zuletzt bearbeitet:
Hallo Dave!

Danke für die Antwort. Werd ich am Montag gleich mal ausprobieren. Komme von daheim leider nicht auf den FTP :(

Danke erstmals...
Grüße
Christian
 
Hmm... da hat's was :(

Warning: Illegal offset type in parsesms.php on line 11....

Im Script Zeile 11 steht folgendes:

PHP:
echo "<td>".$html[$buchstabe]."</td>";

Bitte um Hilfe.

Danke Christian
 
Ein bisschen mehr code müsstest du schon noch posten.
Irgendwoher kenn ich die meldung zwar, aber kanns gerade nicht zuordnen
 
Zurück