私はpreg_replace
特殊文字をエスケープするために使用しています:
$tmpStr=preg_replace("/\?/", "\?", $tmpStr);
$tmpStr=preg_replace("/\#/", "\#", $tmpStr);
$tmpStr=preg_replace("/\^/", "\^", $tmpStr);
$tmpStr=preg_replace("/\&/", "\&", $tmpStr);
$tmpStr=preg_replace("/\*/", "\*", $tmpStr);
$tmpStr=preg_replace("/\(/", "\(", $tmpStr);
$tmpStr=preg_replace("/\)/", "\)", $tmpStr);
$tmpStr=preg_replace("/\//", "\/", $tmpStr);
$
しかし、同じ関数を使用してエスケープすることはできません:
$tmpStr=preg_replace("/\$/", "\$", $tmpStr);
また、上記のステートメントを使用すると、すべてのスペースが置き換えられ、$
エスケープ$
されません。
ドル記号を正しくエスケープするにはどうすればよいですか?