2016-04-18 15 views
1

PHP:アポストロフィを含む値がフォームのテキストフィールドに由来する場合、結果は空の文字列です(ケース2)。しかし、スクリプト自体から同じ値が得られた場合、結果は少なくとも変換された文字列になります(以下のケース1)。これは、htmlspecialchars()メソッドを使用してアポストロフィを使用して名前を含むフォーム送信を検証する際の問題です。それ以外の方法は何ですか?アポストロフィを含むフォーム送信データに使用され、空白を返します。

例:テキストフィールドに「Olé」と入力します。

Case 1 (Result: "Olé") 
echo htmlspecialchars("Olé"); 

Case 2 (Result: "") 
echo htmlspecialchars($_POST["firstname"]); 

答えて

0

あなたは多分htmlentities()機能を使用します。この関数は、utf-8文字以上で使用できます。それは特殊文字をHTMLに変換し、それを普通に表示します。

例:

<?php 
$text = "Olé"; 
echo htmlentities($text); 
?> 

出力:オレ

文字セットと例の完全なリストはW3Schools上で閲覧することができます。

+0

ありがとうございます!実際に私はMySqlデータベースにその名前を格納したいと思います。 "Olé"はOléやその他のものではなく、 "Olé"として保存する必要があります。 – David

+0

@Davidは、データベースに値を格納するために 'UTF-8'エンコーディングを使用します。 – Jer

関連する問題