0

これは非常に単純な質問かもしれませんが、私には理解できません。5' 5''人の身長を示すなど、PHPを使用して特殊文字を含む値をHTMLの非表示フィールドに格納する必要があります。

値はMySqlデータベースに保存されます。私はこのようなことを試みました

echo "<input type='hidden' id='ed_your_height' name='hd_your_height' 
value=".html_entity_decode($your_heigth)."/>";

echo "<input type='hidden' id='ed_your_height' name='hd_your_height' 
value=".htmlentities($your_heigth)."/>";

しかし、両方の場合では5'なく、価値があります。5' 5''これらの値をドロップダウンで表示し、いくつかの比較を実行する必要があります。

次に、特殊文字を含む値をHTMLの非表示フィールドに格納するにはどうすればよいですか(データベースから取得)。

4

2 に答える 2

0

を使用しhtmlspecialcharsます。

value="<?=htmlspecialchars($string)?>"

short_open_tagがオン(悪い)であるか、PHP 5.4を使用している(良い)と仮定します。それ以外の場合は、完全な<?php echoフォームを使用してください。

PS:そもそも問題が発生した理由は、属性を引用していなかったためです。ブラウザの[ソースの表示]オプションを使用した場合、出力が表示value=5' 5''されるので、の値'5とカスタムブール属性として解釈されます。と呼ばれ5''ます。

于 2012-04-23T15:27:33.660 に答える
0

htmlentities()andhtml_entity_decode()を適切なフラグとともに使用します。

クライアント側

<input type="text name="fieldname" value="<?php echo htmlentities($string, ENT_QUOTES, 'utf-8'); ?>">

サーバー側:

$string = html_entity_decode($_POST['fieldname'], ENT_QUOTES, 'UTF-8');
于 2012-04-23T15:25:44.973 に答える