8

カテゴリ リストを作成していますが、アンパサンド記号を MySQL データベースに保存する方法がわかりません。を使用する場合、何か問題/デメリットはありますか'&'。html 形式で使用する場合との違いはあります'&amp'か?

4

5 に答える 5

9

「&」を使用すると、数バイト節約できます。これはMySQLの特殊文字ではありません。&PHP のメソッドを使用して、後で出力用を簡単に生成できますhtmlspecialchars()。フィールドが単純な情報を保持することを意図している場合は、後でさまざまな種類のマークアップなどを生成できるため、一般的により柔軟であるため、プレーン テキストのみを使用する必要があります。例外: マークアップは、レイアウトの決定をテキストと共に保存したいユーザーによって作成されます (リッチテキスト入力の場合など)。入力にタグなどがある場合は&、一貫性のために使用することをお勧めします。

于 2012-07-28T20:20:42.277 に答える
4

&amp;DB のフィールドに HTML が含まれている場合にのみ ( のように)保存する必要 があります<span class="bold">some text</span> &amp; more。その場合、XSSには十分注意する必要があります。

フィールドに一般的なデータ (ユーザー名、タイトルなど) が含まれている場合は、HTML に配置するときにのみエスケープする必要があります (たとえば、 htmlentitiesを使用)。

于 2012-07-28T20:10:39.057 に答える
2

'&' は常にデータベース フィールドに保存されますが、そうしても問題ありません (少なくとも、それ以外の議論は聞いたことがありません)。

&amp;HTMLページでのみ文字列を使用している場合は、HTMLセーフバージョンを保存するだけでよいと思います。ただし、「&」を保存して、読むときにエスケープすることをお勧めします(将来、HTML 以外のコンテキストで文字列を使用する必要がある場合に備えて)。

于 2012-07-28T20:16:58.707 に答える
2

そのまま保管する&amp;のが適切な方法です。エコーするか、ステートメントで として使用できます&amp;

于 2012-07-28T20:08:25.147 に答える
1

&amp;有効な HTML を使用する場合や、 cut&copy(ブラウザで と表示されるcut©) などの問題を回避する場合に使用します。

于 2012-07-28T20:26:39.127 に答える