Ik ook. Kijk, het script ziet er nu zo uit:
Code: Selecteer alles
<?php
$begrip['saya'] = 'Schede';
$begrip['kassiki'] = 'Punt van de katana';
$begrip['hamon'] = 'Golfpatroon in het staal van het snijvlak dat zichtbaar wordt na polijsting';
$begrip['tsuba'] = 'Scheidt het handvat van het blad, voorkomt tevens dat het zwaard wegglijdt en de hand langs het blad glijdt';
foreach($begrip as $invoer => $uitleg) {
$orgineel = $invoer;
$invoer = strtolower($invoer);
$uitleg = '<dfn title="'.$uitleg.'">'.$orgineel.'</dfn>';
$message = str_replace($orgineel, $uitleg, $message);
}
?>
(de gelijkstelling en strtolower moet pas na foreach, anders bestaan de variabelen in kwestie nog niet)
Dat begint dus met de array. Alles kleine letters.
Vervolgens benoem ik de key tot
$invoer
. Nog steeds kleine letters.
Dan zeg ik dat
$origineel
hetzelfde is als
$invoer
. En dat zijn dus nog steeds dezelfde kleine letters. Dat klopt ook, wat op dit moment is er nog niet eens naar het origineel gekeken. Op dat moment is
$origneel
dus opgeslagen als iets met alleen maar kleine letters.
Probeer maar eens na
$origineel = $invoer
$origineel
te echoën. Je krijgt dan vrolijk allemaal kleine lettertjes.
Dan kan ik daarna wel met
$invoer
gaan replacen, die inderdaad altijd door
str_replace
herkend zal worden, maar da's gewoon een moeilijke manier van
str_[b]i[/b]replace
laten uitvoeren. Het resultaat waar ik op hoopte is er nog niet; namelijk dat het uiteindelijke origineel terugkomt in
$uitleg
.