2

私のコードが機能していませんか?str_replace を使用したくありません。3 つよりも多くのスラッシュが置換される可能性があるためです。preg_replace を使用してジョブを実行するにはどうすればよいですか?
私のコードは次のようになります:

<?php

$str='<li>
                <span class=\"highlight\">Color</span>
                Can\\\'t find the exact color shown on the model pictures? Just leave a message (eg: color as shown in the first picture...) when you place order.
                Please note that colors on your computer monitor may differ slightly from actual product colors depending on your monitor settings.
            </li>';
$str=preg_replace("@\\+@","\\",$str);
echo $str;

ここに画像の説明を入力

4

4 に答える 4

4

この問題の根本原因は、実際にはデータベースへの書き込み方法にあり、原因として考えられるのはmagic_quotes_gpc; これは古いバージョンで使用されていたもので、本当に悪い考えです。

最良の修正

これにはいくつかの手順が必要です。

  1. を無効にして、HTML をデータベース内に配置するスクリプトを修正しますmagic_quotes_gpc
  2. 既存のすべてのデータベース エントリを読み取り、変更を適用stripslashes()して保存するスクリプトを作成します。
  3. プレゼンテーション部分を修正します (ただし、まったく変更する必要がない場合もあります。

代替パッチ

stripslashes()HTML を表示する前に使用します。

于 2013-07-09T01:41:22.637 に答える