[ЗАКРЫТО] [PHP, preg_replace] Ошибка "неожиданный символ"
---
...Я работаю антинаучным аферистом...
У меня chr(3) (вместе с chr(0 chr(1 chr(2 активно используется как спецсимвол.
Всё работает, пока в тексте внутри одного конкретного блока не вставить где-нибудь символ $ - тогда появляется вот такая ошибка.
Отлаживать всё полностью, и пытаться понять, где что изменилось в связи с появлением этого символа - жутко влом (хотя и понятно, что, скорее всего, это связано с одним из callback'ов поэтому хочу хотя бы для начала узнать, из-за чего именно возникает ошибка.
Или, может быть, кто-нибудь знает, на какую строку можно заменить $, чтобы доллар по прежнему был бы виден в браузерах, но не являлся символом $?
preg_replace("/pattern/e","'\\1'",$str)
на место подставится вхождение первых и при этом будет ' заменено на \', а " - на \" (то есть, если второй аргумент preg_replace - "'\\1'", мы увидим, что все двойные кавычки заэкранировались, а если '"\\1"' - что все одинарные например, знак $ заэкранирован не будет (из-за чего у меня и возникала та ошибка).
Можно ли рассчитывать, что экранируются только ' и ", и что они экранируются всегда?
Если нет - от чего это зависит?
Оставить комментарий
kruzer25
Ошибка вида:В чём именно заключается ошибка, в кривом pattern, в кривом replacement, в кривом subject?
Пытался гуглем найти - нашёл только гору сайтов, на которых - такая же ошибка...