PHP preg_replace

Я использую netbeans, я пытаюсь заменить \ с \\ но он терпит неудачу, он не может избежать символа \\ .

Это не проблема Netbeans, это проблема PHP.

 preg_replace('\','\\','text to \ be parsed'); 

Любые решения?

Используйте 4 обратных слэша и, пожалуйста, не забудьте разделители:

echo echo preg_replace('~\\\\~','\\\\\\\\','text to \\ be parsed');

Демо-версия

Объяснение: Когда PHP разбирает \\\\ он \\\\ \\ два раза, что означает, что он становится \\ , теперь, когда PHP передает его в механизм регулярных выражений, он получит \\ что означает \ .

Попробуйте функцию php chr() и сообщите preg_replace код char ascii для \ и \\ .

функция chr

таблица кодов ascii

 <?php echo chr(52) . "<br>"; // Decimal value echo chr(052) . "<br>"; // Octal value echo chr(0x52) . "<br>"; // Hex value preg_replace(chr(1),chr(2),'text'), ?> 

Это работает: (используя str_replace (), а не preg_replace ())

 $str = "text to \ be parsed"; $str = str_replace('\\', '\\\\', $str); echo $str;