文字列から引用符を削除する

PHP:
文字列から引用符を削除する

方法:

以下は、PHPの組み込み関数を使用した簡単な例です:

$quotedString = "'Hello,' she said, \"It's a fine day!\"";
$unquotedString = str_replace(array("'", "\""), '', $quotedString);
echo $unquotedString; // 出力: Hello, she said, Its a fine day!

簡単ですね?このstr_replace()関数は、文字列から削除する文字の配列を取ります。これには、シングルクォートとダブルクォートの両方が含まれます。

深堀り

PHPの初期のころ、開発者は特にデータベースにデータを挿入する際に文字列の引用符に注意を払わなければなりませんでした。不適切に扱われた引用符はSQLインジェクション攻撃につながる可能性がありました。ここで、入力データを自動的にエスケープする機能であるマジッククォートが登場します。これは非推奨となり、最終的には悪いコーディング慣行とセキュリティ問題を助長するため削除されました。

現在では、str_replace()やより高度なパターンにはpreg_replace()と正規表現を使用します。以下は正規表現の例です:

$quotedString = "'Hello,' she said, \"It's a fine day!\"";
$unquotedString = preg_replace('/[\'"]/', '', $quotedString);
echo $unquotedString;

JSONデータの場合、余分なバックスラッシュを引用符に含めないように、JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODEのようなオプションと共にjson_encode()を使用するかもしれません。

実装する際は、エッジケースを考慮してください。あなたの文字列が、物語の対話や測定のインチのように、特定の引用符を含むことを意図している場合はどうでしょうか?文脈が重要ですので、データの意図された使用に合わせて引用符の削除を調整してください。

参照