2

PHP 関数として HTML フォーム値がありますvalue='".$item->get_title()."'(これはechoステートメント内にあるため、一重引用符で囲まれています)。問題は、返されたタイトルに引用符が含まれていると、値関数が壊れることです。

例:value="Kim Dotcom lawyer blasts US government" s "pattern of delay &quote;'>

ご覧のとおり、 で壊れていgovernmentます。その後にアポストロフィが必要です。

誰かがこれの修正を知っていますか?

修正: value='".htmlspecialchars($item->get_title(), ENT_QUOTES)."'

4

3 に答える 3

4

htmlspecialcharsを使用して、HTMLとしてレンダリングされることを意図していない出力をエスケープします。

value="'.htmlspecialchars($item->get_title(), ENT_QUOTES).'"

デフォルトでは、htmlspecialcharsは一重引用符ではなく、二重引用符のみをエスケープします。両方をエスケープしたい場合(したがって、HTML値を一重引用符で囲む慣習を維持したい場合)、ENT_QUOTES2番目のパラメーターとしてに追加しますhtmlspecialchars

于 2012-05-25T21:32:53.483 に答える
2

htmlspecialcharsで試してください

htmlspecialchars($item->get_title());
于 2012-05-25T21:30:49.037 に答える
-1

試す:

value='".str_replace('"', '', $item->get_title())."'
于 2012-05-25T21:29:39.090 に答える