Forum Webscript.Ru

Программирование => PHP => Тема начата: AlieN от 29 Июля 2002, 15:16:12

Название: Гадкие кавычки:
Отправлено: AlieN от 29 Июля 2002, 15:16:12
В общем суть задачи:
перловый скрипт генерит html с небольшими кучоками PHP
вроде такого:
$bookmark_this_uri=\'<%URL%>\';

Но что если перловая переменная URL тоже содержит кавычки, первый ответ использовать двойные, а если он содержит и двойные кавычки?

Перловй код откомпилен=> доступа к нему нету
Название: Гадкие кавычки:
Отправлено: nobody от 29 Июля 2002, 15:20:35
Может я и ошибаюсь, но вроде Perl компилиться непосредсвенно во время выполнения :)
Название: Гадкие кавычки:
Отправлено: ThE0ReTiC от 29 Июля 2002, 15:21:44
AlieN
$bookmark_this_uri="addslashes(<%URL%>)";
Не катит?
Название: Гадкие кавычки:
Отправлено: AlieN от 29 Июля 2002, 15:42:28
nobody
перечитываем ещё раз!
ThE0ReTiC

Что-то не догнал! Ж(
Название: Гадкие кавычки:
Отправлено: ThE0ReTiC от 29 Июля 2002, 15:44:19
AlieN
Блин, как это есть сказать по-рюсски....
Короче покажи, чего перловка генерит.
Можно на мыло...
Название: Гадкие кавычки:
Отправлено: AlieN от 29 Июля 2002, 15:50:09
ThE0ReTiC
PArse error
Название: Гадкие кавычки:
Отправлено: AlieN от 29 Июля 2002, 15:54:25
$bookmark_this_uri=\'http://lube.libido.ru\';
$bookmark_this_uri=str_replace("?","%3F",$bookmark_this_uri);
$bookmark_this_uri=str_replace("&","%26",$bookmark_this_uri);
$bookmark_this_desc=urlencode(\'История создания и творческий путь группы.Дискография.Песни,клипы,фото участников.\');
$bookmark_this_title=urlencode(\'10 лет Любэ\');
?>&nazv=&desc="  target="_blank">"Добавить 
рус  


 История создания и творческий путь группы.Дискография.Песни,клипы,фото участников.

http://lube.libido.ru
Название: Гадкие кавычки:
Отправлено: ThE0ReTiC от 29 Июля 2002, 16:00:17
$bookmark_this_uri = addslashes(\'<%URL%>\');
или так:
$temp = <%URL%>;
$bookmark_this_uri = addslashes($temp);
Название: Гадкие кавычки:
Отправлено: AlieN от 29 Июля 2002, 16:04:51
ThE0ReTiC
тогда твой код будет в итоге вот таким:
$bookmark_this_uri = addslashes(\'http://blablablabla\'/blabla\');
или
$temp=htpp://blabla/blabla\'/blalba

есесьно еррор
Название: Гадкие кавычки:
Отправлено: ThE0ReTiC от 29 Июля 2002, 16:07:12
AlieN
Цитировать
$temp=htpp://blabla/blabla\'/blalba

Так это, насколько я знаю и в Перле ошибка.
Название: Гадкие кавычки:
Отправлено: AlieN от 29 Июля 2002, 16:10:44
ThE0ReTiC
ТЫ НЕ ПОНЯЛ!
ПЕРЛ ГЕНЕРИТ ХТМЛ С ВСТАВКАМИ ПХП

ОШИБКА ТО В ПХП ПОЯВЛЯЕТСЯ
Название: Гадкие кавычки:
Отправлено: Меняздесьдавнонет от 29 Июля 2002, 16:23:07
А зачем ты вопрос в РНР задаешь-то?
Если ты не можешь поменять сгенеренный код, то чего ты вообще суетишься?

Если можешь поменять, то добавь к str_replace еще и замену апострофа.
Название: Гадкие кавычки:
Отправлено: AlieN от 29 Июля 2002, 16:26:50
RomikChef
Цитировать
А зачем ты вопрос в РНР задаешь-то?
Если ты не можешь поменять сгенеренный код, то чего ты вообще суетишься?

А зачем мне задавать вопрос в форуме перл если доступ к перловому исходнику закрыт?
Цитировать
$bookmark_this_uri=str_replace("\'",""",$bookmark_this_uri);

Прикинь. я жо этого тоже догадался.
А теперь сделай вот так:
$bookmark_this_uri="<%URl%>";или вот так
$bookmark_this_uri=\'<%URl%>\';
и жестоко обломайся
Название: Гадкие кавычки:
Отправлено: Меняздесьдавнонет от 29 Июля 2002, 16:37:56
Милый, у меня такая замена год, как стоит, и я ни разу еще не обломался.
$this = str_replace("\\"", "& quot ;",$this); // и кавычки туда же
$this = str_replace("\'", "& #39 ;",$this); // и одинарные

& quot ; и & #39 ; - без пробелов писать.
Название: Гадкие кавычки:
Отправлено: AlieN от 29 Июля 2002, 20:03:02
Цитировать
замена год, как стоит, и я ни разу еще не обломался.

Да понятно что замена будет работать, но такая конструкция:
$blabla=dsigydfigy\'fjkhkfhs;
у тебя никогда не работала и врядли будет работать
Название: Гадкие кавычки:
Отправлено: Меняздесьдавнонет от 29 Июля 2002, 20:58:15
Ну, так я и не использую никаких левых перловых скриптов, ха ха.
Приведенный пример - для получаемых данных, причем для убогой гостевухи. В номальных базах у меня все хранится as is, а конвертится пере выводом.

Бери, натравливай РНР скрипт на полученные файлы (мне уже смешно :))))), который будет ставить в нужных местах слеши.
Идиотизм, но будет работать.
Название: Гадкие кавычки:
Отправлено: AlieN от 30 Июля 2002, 10:10:14
Цитировать
причем для убогой гостевухи

ха-ха
это совсем не гостевая, а если ты такую сам напишиешь - тебе нобель дадут
Название: Гадкие кавычки:
Отправлено: Меняздесьдавнонет от 30 Июля 2002, 10:17:17
Алиен.
ты сюда просто так, языком почесать пришел?
Или спросить, что-то, до чего сам не догоняешь?
Если спросить - так спрашивай.
пока от тебя вопросов не поступало, только нытьё.
Название: Гадкие кавычки:
Отправлено: AlieN от 30 Июля 2002, 11:26:49
Давай прочитаем пред. твой топик и поймем что ныть начал первый ты.
Цитировать
Если спросить - так спрашивай.

Я спросил - ты отвечал ,не спорю, да неприятность вот одна : не в тему отвечал-то......
ЗЫ:Кто ноет-то?
Название: Гадкие кавычки:
Отправлено: Metaller от 30 Июля 2002, 11:27:23
[OFF]RomikChef
Слушай, ну что ты такой резкий, а?
человек вопрос задал, просто, чтоб понять проблему - нужно в нее вдуматься. Те варианты, которые ты предложил - были проверены в первую же очередь. Ты же не думаешь, что Алиен полный ламер?
Эти варианты - не решают проблему.

Очень прошу, поменьше агрессии в постах - неприятно читать thread\'ы, где ты постишь....

p.s. Ничего личного - просто замечание....
[/OFF]
Название: Гадкие кавычки:
Отправлено: Меняздесьдавнонет от 30 Июля 2002, 12:13:45
Металлер, вопроса у него не было.
Точнее, сформулирован он был так коряво, что понять его все равно невозможно.

Но вот ты, если такой добрый, а я такой глупый - сформулируй мне его вопрос? На что надо отвечать?
Будет ли парсе еррор если среди входящих данных будет та же кавычка? Будет. Больше вопросов от него не поступало.
Название: Гадкие кавычки:
Отправлено: Metaller от 30 Июля 2002, 12:22:18
Цитировать
Точнее, сформулирован он был так коряво, что понять его все равно невозможно.

Возможно, ты прав. Но это довольно сложно сформулировать ясно и четко. Я даже стоя около монитора Алиена - не сразу просек в чем проблема. А уж объяснить это письменно - вообще трабл.
Цитировать
я такой глупый

Боже упаси! Я не называл тебя глупым. Всего лишь резким и агрессивным.

Была обрисована ситуация. Попробуй вдуматься в нее поглубже - и ты сам поймешь проблему лучше, чем если бы ее расписывали здесь подробно.
Название: Гадкие кавычки:
Отправлено: Меняздесьдавнонет от 30 Июля 2002, 12:32:02
Металлер, а я ведь дал в конце-концов, приемлемый вариант :-)
Который, во всяком случае, будет работать при моем понимании проблемы.

А вот такие ответы
Цитировать
ТЫ НЕ ПОНЯЛ!
ПЕРЛ ГЕНЕРИТ ХТМЛ С ВСТАВКАМИ ПХП

Ну никак не способствуют улучшению этого понимания.
Ему поспособствуют ответы на такие вопросы:
Откуда поступают данные в перл-скрипт?
Может ли он модифицировать полученный РНР?
Какого уровня ему нужно решение вопроса - менять исходные данные или полученный РНР код? На каком этапе?
Название: Гадкие кавычки:
Отправлено: Metaller от 30 Июля 2002, 12:38:38
Ты знаешь, я размышлял и практически пришел к выводу, чт проблема не имеет решения без модифицирования перлового скрипта. :-(

Твой вариант, к сожалению, не приемлем, т.к. не исключает синтаксической ошибки при передаче кривых строк.

З.Ы. И все-таки - повежливей :-)))
Название: Гадкие кавычки:
Отправлено: Меняздесьдавнонет от 30 Июля 2002, 12:50:32
А нельзя ли привести обоснование неприемлемости?
Почему нельзя после перлового скрипта натравливать РНРшный?
Название: Гадкие кавычки:
Отправлено: Metaller от 30 Июля 2002, 12:52:51
А ты имеешь в виду это... :-)
Можно, конечно.. :-))
Но не кажется ли тебе это извращением некоторым? :-)

2 разных скрипты генерят третий скрип, который парсится и отдается броузеру, который в свою очередь парсит хтмл и показывает юзеру......   болезнь :-))
Название: Гадкие кавычки:
Отправлено: Меняздесьдавнонет от 30 Июля 2002, 12:58:45
Ну, я, как бы с самого начала написал, что это изврат.

Ладно, в общем-то, это ваши проблемы, мне их все равно не понять.

Просто не надо тогда человеку писать, что он отвечает глупости, если спрашивающий сам не очень понимает, что он имел виду.