カテゴリ リストを作成していますが、アンパサンド記号を MySQL データベースに保存する方法がわかりません。を使用する場合、何か問題/デメリットはありますか'&'。html 形式で使用する場合との違いはあります'&'か?
5 に答える
「&」を使用すると、数バイト節約できます。これはMySQLの特殊文字ではありません。&PHP のメソッドを使用して、後で出力用を簡単に生成できますhtmlspecialchars()。フィールドが単純な情報を保持することを意図している場合は、後でさまざまな種類のマークアップなどを生成できるため、一般的により柔軟であるため、プレーン テキストのみを使用する必要があります。例外: マークアップは、レイアウトの決定をテキストと共に保存したいユーザーによって作成されます (リッチテキスト入力の場合など)。入力にタグなどがある場合は&、一貫性のために使用することをお勧めします。
&DB のフィールドに HTML が含まれている場合にのみ ( のように)保存する必要 があります<span class="bold">some text</span> & more。その場合、XSSには十分注意する必要があります。
フィールドに一般的なデータ (ユーザー名、タイトルなど) が含まれている場合は、HTML に配置するときにのみエスケープする必要があります (たとえば、 htmlentitiesを使用)。
'&' は常にデータベース フィールドに保存されますが、そうしても問題ありません (少なくとも、それ以外の議論は聞いたことがありません)。
&HTMLページでのみ文字列を使用している場合は、HTMLセーフバージョンを保存するだけでよいと思います。ただし、「&」を保存して、読むときにエスケープすることをお勧めします(将来、HTML 以外のコンテキストで文字列を使用する必要がある場合に備えて)。
そのまま保管する&のが適切な方法です。エコーするか、ステートメントで として使用できます&。
&有効な HTML を使用する場合や、 cut©(ブラウザで と表示されるcut©) などの問題を回避する場合に使用します。