-2
get_magic_quotes_gpc()
は0
です。テキストのバックスラッシュと一重引用符を置き換えます。
私は、これらのアレイとpreg_replace()
使用する場合:
$replace[0]=">";
$replace[1]="<";
$replace[2]="&";
$replace[3]='"';
$pattern[0]="#>#";
$pattern[1]="#<#";
$pattern[2]="#&#";
$pattern[3]="#"#";
$pass=preg_replace($pattern, $replace, $pass);
をそれは、バックスラッシュと単一引用符を除いて動作します。
$replace[5]="\\";
$pattern[5]="/\/";
が、それは失敗します。
は、私はこれを試してみました。私はあなたのパターンは、パターンで#
と衝突あなたのパターンの区切り文字に基づいて働いていない可能性がありPHP5.2
は何ここ
は、区切り文字としての人気と競合しないスラッシュ(
/
)を使用して文字のあなたの配列を置換するコードですこのコードの意図?私はそのアプリケーションについて非常に心配しています。 "魔法引用符"は理由のために殺されました:彼らは**非常に悪い考えでした**。これはSQLエスケープに関連していますか?その場合は、プレースホルダ値**を持つ** prepared statementsを使用してください。**これを行うことはありません。この問題やその他の懸案事項については、[PHP the Right Way](http://www.phptherightway.com)を参照してください。 – tadman'mysqli'(およびprepared statements)は、PHPバージョン5以上、MySQL 4.1.3+を使用することができます。あなたの環境がこれをサポートしていない場合は、確かにアップグレードの時間です。 – mickmackusa
'htmlspecialchars()'はこれを行います... – miken32