Я использую 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);
А также, когда я использую приведенное выше утверждение, все пробелы заменяются на $
, а $
не экранируется.
Как правильно избежать знака доллара?