par
Ryle » 28 août 2006, 17:30
Y a pas besoin de remplacer par un autre caractère, faut juste jouer avec les guillemets et les apostrophes. Ton problème, vient du fait que le html généré n'est pas bon
<?php
$Etape = 'L\'espace';
echo "<option value='$Etape '>$Etape </option>";
?>
va générer le code html suivant :
<option value='L'espace '>L'espace </option>
et du coup, la value de ton option s'arrête à 'L', le "espace '" étant ignoré.
Tu peux protéger l'apostrophe dans le html en protégeant (en php) le caractère protégeant l'apostrophe (en html) : 'L\\\'espace', mais c'est un peu lourd à mon avis. Sinon en jouant juste sur l'imbrication apostrophes/guillemets, tu peux aussi faire un truc du genre
$Etape = "L'espace";
echo '<option value="' . $Etape .'">'.$Etape.'</option>';
Voire enfin, puisque ton libellé à la même valeur que ton option, laisser tomber le champ value, le libellé étant dès lors utilisé par défaut comme valeur :
$Etape = "L'espace";
echo "<option>$Etape </option>";
Y a pas besoin de remplacer par un autre caractère, faut juste jouer avec les guillemets et les apostrophes. Ton problème, vient du fait que le html généré n'est pas bon
[php]<?php
$Etape = 'L\'espace';
echo "<option value='$Etape '>$Etape </option>";
?>
va générer le code html suivant :
<option value='L'espace '>L'espace </option>[/php]
et du coup, la value de ton option s'arrête à 'L', le "espace '" étant ignoré.
Tu peux protéger l'apostrophe dans le html en protégeant (en php) le caractère protégeant l'apostrophe (en html) : 'L\\\'espace', mais c'est un peu lourd à mon avis. Sinon en jouant juste sur l'imbrication apostrophes/guillemets, tu peux aussi faire un truc du genre
[php]$Etape = "L'espace";
echo '<option value="' . $Etape .'">'.$Etape.'</option>';[/php]
Voire enfin, puisque ton libellé à la même valeur que ton option, laisser tomber le champ value, le libellé étant dès lors utilisé par défaut comme valeur :
[php]$Etape = "L'espace";
echo "<option>$Etape </option>";[/php]