Vallar_ultra в чем Вы пытаетесь меня убедить? В том, что можно экранировать апостроф и кавычки при формировании на стороне PHP строкового литерала, предназначенного для подстановки в формируемый javascript-код? Или в чем?
я все время пытаюсь до Вас донести мысль о том, что функция писалась и используется с конкретной целью: сформировать на стороне PHP строковый литерал, который будет передан в формируемый javascript-код, где будет использован в виде значения строки (т.е., вероятнее всего окружен апострофами или кавычками - заранее неизвестно как именно).
Вы же почему-то решили, что я Вам тут пишу супер-мега решение, настаивая на том, чтобы Вы его использовали повсеместно и ежечасно.
да, можно поизвращаться с экранированием, но я уверен, что тупой вычистки достаточно для того, чтобы сформировался корректные данные для подстановки в формируемый ява-скрипт код, в котором эти данные могут быть окружены апострофами, кавычками, использоваться при формировании выражения и т.п. - мы не знаем чего.
и, пожалуйста, прекратите убеждать меня в том, почему эту функцию не надо использовать для формирования HTML. В том числе, я глубоко убежден, что на стороне PHP не должно быть места формированию кода разметки вида <div ...>...</div> или element.innerHTML = "<div ...>...</div>". Лично я глубоко убежден, что на стороне PHP может формироваться значения, подставляемые в атрибуты тэга (того же DIV'а), но сама разметка, конструкции уровня DOM И т.п. - это то, что должно находиться в коде HTML-шаблона и клиентского скрипта, а не формироваться в рамках PHP-скрипта.
да, я знаю, что практический каждый учебник содержит примеры смешения HTML-разметки с PHP-кодом и жуткие конструкции взаимовнедрения. Но это не значит, что так надо делать.
P.S. функция называется jsString. Подумайте о смысловой нагрузке, которое несет такое название. Поскольку мне надоело отвечать одно и тоже, на одни и те же примеры из другой оперы - останемся при своих.