• ベストアンサー

preg_replace ereg_replace

いつもお世話になっております。 データを抽出する前にサニタイズが必要となり、 実行する処理で、 $rep = "/\\\/"; $arr = array('data1' => 'A', 'data2' => '\\\\\\'); $ret = preg_replace($rep , "\\\\\\" ,$arr ); $ret = ereg_replace("'", "\'" ,$ret); preg_replaceは配列で戻ってくる事は知っているのですが、 ereg_replaceは配列で戻ってくるのでしょうか。 お手数ですが、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.2

マニュアルに書いてなければ、「対応していない」と考えるのが普通だと思います。 http://www.php.net/manual/ja/function.ereg-replace.php > 置換後の文字列を返します。 http://www.php.net/manual/ja/function.preg-replace.php >subject > 検索・置換対象となる文字列もしくは文字列の配列 >戻り値 > subject 引数が配列の場合は配列を、 その他の場合は文字列を返します。 と、配列に対応しているpreg_replaceでは、ちゃんと「配列」と明記してあるのですから。

prr4e
質問者

補足

回答有難うございます。 既存の処理で、 pregu_replaceの後、ereg_replaceを実施しており、 それを流用したかったので、今回の質問に至りました。 故に今回preg_replaceに文字列として渡さなければいけない事が分かりました。 有難う御座いました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

そもそも「ereg_」は非推奨なのでつかわない

すると、全ての回答が全文表示されます。
  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

マニュアルは読まない人なんでしょうか?

prr4e
質問者

補足

マニュアルには文字列として記述はされているのですが、 配列のパターンは記述がなかったため、質問させて頂きました。

すると、全ての回答が全文表示されます。