1

私のフォームでは、データベースに挿入する前にすべてのフィールドで pg_escape_string を使用しています。だから私は firstname='O''reilly' のようなものを取得します。しかし、それを印刷しようとすると、O''reily、2 つのアポストロフィが表示されます。オライリー、アポストロフィー 1 つでいいんじゃないの?

これはデバッグの問題ではありません。firstname='O''reilly' を持っているかどうか疑問に思っているだけです。それをどのように出力すれば、O''reilly ではなく O''reilly になりますか?

4

1 に答える 1

0

通常、DB ライブラリには unescape 関数がありません (またはまったくありません)。実際にこれを行う必要がないからです。DB は、エスケープされていないデータを保存して返します。さらに、関数を呼び出しているため、エスケープされていない形式のデータが既にあることを意味します。

ただし、str_replaceを呼び出すだけで、文字列から二重のアポストロフィを削除できます。

echo str_replace("''", "'", "O''reilly");
于 2010-05-27T14:49:23.443 に答える