file_get_contents() ' и "

J
На сайте с 08.06.2006
Offline
844
481

Есть код пхп

print "<font size=5><b>ФИО</b></font><br><input type=text name=fio size=30 onchange=\"var pattern=/^[^\s]+\s[^\s]+\s[^\s]+$/; if(!this.value.match(pattern)) {var info = '<font color=red>Введено не верно.</font> Пример: Иванов Иван Иванович'; } else { info = '<font color=green>OK!</font>';  } document.getElementById('fio').innerHTML = '<br>' +info ; \"></input><span id=fio></span>";

Выполняется как

<input type=text name=fio size=30 onchange="var pattern=/^[^\s]+\s[^\s]+\s[^\s]+$/; if(!this.value.match(pattern)) {var info = '<font color=red>Введено не верно.</font> Пример: Иванов Иван Иванович'; } else { info = '<font color=green>OK!</font>'; } document.getElementById('fio').innerHTML = '<br>' +info ; "></input><span id=fio></span>

file_get_contents() видит как

<input type=text name=fio size=30 onchange="var pattern=/^[^\s]+\s[^\s]+\s[^\s]+$/; if(!this.value.match(pattern)) {var info = '<font color=red>Введено не верно.</font> Пример: Иванов Иван Иванович'; } else { info = ***8216;<font color=green>OK!</font>***8216;; } document.getElementById(***8216;fio***8217;).innerHTML = ***8216;<br />***8216; +info ; ***171;></input><span id=fio></span>

из-за чего js не работает и "рвется" форма

п.с. вместо "***" знак доллара и решетка

png 6356456745745734.png
png 6547645747457457.png
A
На сайте с 19.07.2010
Offline
130
#1

Поправьте свой пост, ничего не понятно.

Для кусков кода желательно использовать тег [ code ] а не [пхп] или квотирование.

Вывод двойных/одинарных кавычек из пхп проще делать так:


echo <<<EOF
"двойные кавычки",
'одинарные', `еще кавычки`
EOF;

Ничего эскейпить не нужно, т.е. не ломается код яваскрипта(как в вашем примере) и его легко можно скопировать/вставить в пхп или напрямую в хтмл страницу.

.............
J
На сайте с 08.06.2006
Offline
844
#2

не помогло

echo <<<EOF
"двойные кавычки",
'одинарные', `еще кавычки`
EOF;

вот смотрите что вместо кавычек выводит если через file_get_contents

png 6547645747457457.png
A
На сайте с 19.07.2010
Offline
130
#3

Обратите внимание, что до } else { info = идут нормальные одинарные и двойные кавычки.

Как я понимаю, в оригинальном коде после } else { info = используется какая-то переменная, вот эта переменная уже и обработана htmlentities() или чем-то похожим, которая гробит кавычки.

На этом мои телепатические способности заканчиваются. :)

siv1987
На сайте с 02.04.2009
Offline
427
#4
joost:
вот смотрите что вместо кавычек выводит если через file_get_contents

file_get_contents не имеет никакого отношения к html сущностям.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий