У меня есть код подсветки слов на странице:
re = new RegExp(`(${searchStr})`, 'gi'); el.innerHTML = origText.replace(re, '<span class="highlight">$1</span>')
Но мне нужно весь javascript засунуть в переменную и выводить оттуда.
$script= "<script>...</script>";
$html_cont = file_get_contents($path_html);
$html_cont = str_replace('</body>', $script.'</body>' , $html_cont);
echo $script;
После этого '$1' перестало работать, как я ее ни экранировал.
Я сделал так (чтоб заработало):
function HighLight(phrase) {
re = new RegExp(phrase, 'gi'); document.body.innerHTML = document.body.innerHTML.replace(re, '<span class=highlight>'+phrase+'</span>');
Работает также с глобальной переменной PHP $phrase, то есть дело не в знаке доллара:
function HighLight(phrase) {
re = new RegExp($phrase, 'gi'); document.body.innerHTML = document.body.innerHTML.replace(re, '<span class=highlight>'+$phrase+'</span>');
Вопрос: Когда скрипт проходит через переменную, может ли работать чтение аргумента $1?