私は$variable
このように一次元と次元の引用符を含むものを持っていますa's"d
この変数をチェックボックス要素の値として書き込みたい
<input type="checkbox" name="names[]" value="<?php echo $variable; ?>" />
しかし、htmlフォームを送信した後に結果が表示された場合、チェックボックスの値が正しくありません(理由は引用符です)。このような変数を入力値として書き込むための正しい方法は何ですか?
次元の引用符をエスケープできます:
<input type="checkbox" name="names[]" value="<?php echo str_replace('"','\\"',$variable); ?>" />
または、 http://php.net/manual/en/function.htmlspecialchars.phpを使用できますhtmlspecialchars()
htmlentities
で使用ENT_QUOTES
<?php echo(htmlentities($variable, ENT_QUOTES | ENT_HTML401)); ?>
文字列が壊れないように、文字をhtml要素にエンコードする必要があります。このようなものを試してください
$variable = htmlentities($variable);
<input type="checkbox" name="names[]" value="<?php echo $variable; ?>" />
詳細情報が必要な場合は、仕様はここhttp://php.net/manual/en/function.htmlentities.phpに書かれています。