Как поместить в переемнную текст с кавычками, не слешируя их?

DiMA

php.spb.ru
Команда форума
Как поместить в переемнную текст с кавычками, не слешируя их?

У меня есть кусок текста с одинарными/двойными кавычками, со слешами, с символом $. Его надо поместить в переменную. Текст нельзя изменять, иначе бы не было проблемы - я бы просто прослешил все опасные символы:

" ' \ $

Текст должен быть помещенн именно в переменную, а не выведен на экран, иначе бы я сделал
... ?> тут текст <? ...

Пробовал вот так, но не работает:
$text=?> тут текст <? ;

Нельзя использовать ob_start (т.к. делать разные действия полсе объявления переменной весьма не просто и нудно).

Нельзя делать отдельный файл, чтобы читать его в переменную.

Можно ли с фичей ">>>" что-нить придумать? или у кого какие идеи?
 

Bizon

Guest
может все-таки ob_start() ?

ob_start();
?>
тут тест
<?
$peremennaj=ob_get_content();
ob_clean();
 

DiMA

php.spb.ru
Команда форума
я не очень понял, при чем тут единичные символы? У меня есть много кусков HTML текста, которые надо загнать в переменные. Куски текст править нельзя (очень долго вручную вставлять слеши + можно что-то пропустить), иначе бы я прослешил все символы.

$text=" тут кусок текста ";

Пока вижу только 2 способа с наименьшими потерями - с ob_start и с автоматическим слешированием куска текста перед помещением его в .php файл. Типа ща накатаю программку, чтобы при помещении куска текста в буфер обмена сразу его слешировала... (Но тут появиться проблема, сделать обратное преобразование - т.е. и это тоже некий изврат).

Народ, может можно как нить сделать? Ведь придумали же в PHP конструкцию `команда` (c обратными кавычками), что ни в какие ворота не лезет :) (но это хорошо, что придумали)
 

tony2001

TeaM PHPClub
Дима,&nbsp;обьясни,&nbsp;пожалуйста&nbsp;:
1-й&nbsp;и&nbsp;главный&nbsp;вопрос.&nbsp;
ГДЕ&nbsp;лежит&nbsp;ХТМЛ?&nbsp;ИЗ&nbsp;ЧЕГО&nbsp;ты&nbsp;его&nbsp;собираешься&nbsp;выводить?
 

DiMA

php.spb.ru
Команда форума
Как поместить в переемнную текст с кавычками, не слешируя их?

объясняю.&nbsp;Никаких&nbsp;HTML&nbsp;файлов&nbsp;нет.&nbsp;Есть&nbsp;один&nbsp;файл&nbsp;TEST.PHP.&nbsp;Мы&nbsp;тут&nbsp;вообще&nbsp;о&nbsp;ПХП&nbsp;говорим,&nbsp;ХТМЛ&nbsp;я&nbsp;привел&nbsp;для&nbsp;большего&nbsp;понимания.&nbsp;Итак,&nbsp;еще&nbsp;раз:

$text=&quot;&nbsp;это&nbsp;текст&nbsp;&quot;;

В&nbsp;таком&nbsp;примере,&nbsp;если&nbsp;надо&nbsp;ставить&nbsp;что-то&nbsp;с&nbsp;кавычками,&nbsp;проблем&nbsp;нет,&nbsp;пишем:

$text=&quot;&nbsp;\&quot;кавычки\&quot;&nbsp;&quot;;

Прикинь,&nbsp;что&nbsp;текст&nbsp;будет&nbsp;большим&nbsp;(несколько&nbsp;килобайт)&nbsp;и&nbsp;в&nbsp;нем&nbsp;много&nbsp;разных&nbsp;кавычек.&nbsp;Ну&nbsp;ладно,&nbsp;можно&nbsp;потратить&nbsp;час,&nbsp;чтобы&nbsp;их&nbsp;повставлять.&nbsp;Но&nbsp;потом&nbsp;мне&nbsp;надо&nbsp;получить&nbsp;текст&nbsp;назад&nbsp;в&nbsp;чистом&nbsp;виде.
 

DiMA

php.spb.ru
Команда форума
2&nbsp;smalex:&nbsp;если&nbsp;Бизон,&nbsp;который&nbsp;понял&nbsp;мой&nbsp;вопрос,&nbsp;ничего&nbsp;не&nbsp;сказал,&nbsp;то&nbsp;на&nbsp;счет&nbsp;твоего&nbsp;ответа,&nbsp;мне&nbsp;ответить&nbsp;нечего...&nbsp;Наверно&nbsp;ты&nbsp;гений.&nbsp;Поделись&nbsp;пожалуйста&nbsp;со&nbsp;мной.&nbsp;А&nbsp;на&nbsp;счет&nbsp;исходников..&nbsp;типа,&nbsp;читал&nbsp;я&nbsp;их.&nbsp;Давно&nbsp;и&nbsp;много.&nbsp;Надо&nbsp;было&nbsp;как-то&nbsp;переделать&nbsp;под&nbsp;свои&nbsp;нужды.
 

DiMA

php.spb.ru
Команда форума
&gt;&nbsp;AddSlashes&nbsp;не&nbsp;катит?&nbsp;;)

Вот&nbsp;тебе&nbsp;мой&nbsp;наивный&nbsp;вопрос:&nbsp;а&nbsp;как&nbsp;поместить&nbsp;в&nbsp;аргумент&nbsp;функции&nbsp;текст&nbsp;с&nbsp;кучей&nbsp;кавычек?
 

DiMA

php.spb.ru
Команда форума
&gt;&nbsp;AddSlashes&nbsp;не&nbsp;катит?&nbsp;;)

кроме&nbsp;того,&nbsp;я&nbsp;разве&nbsp;заикался&nbsp;хоть&nbsp;раз&nbsp;об&nbsp;SQL&nbsp;?&nbsp;Ты&nbsp;наверно&nbsp;даже&nbsp;не&nbsp;в&nbsp;курсе,&nbsp;для&nbsp;чего&nbsp;функцию-то&nbsp;придумали...&nbsp;Именно&nbsp;для&nbsp;MySQL&nbsp;придумали.&nbsp;А&nbsp;SQL&nbsp;тут&nbsp;не&nbsp;причем.&nbsp;Совсем.
 

DiMA

php.spb.ru
Команда форума
да..&nbsp;Я&nbsp;уж&nbsp;старался&nbsp;вопрос&nbsp;поставить,&nbsp;да&nbsp;не&nbsp;смог...&nbsp;Итак,&nbsp;похоже&nbsp;ты&nbsp;понял&nbsp;проблему.&nbsp;Цитирую&nbsp;свое&nbsp;первое&nbsp;сообщение&nbsp;в&nbsp;этом&nbsp;топике:

&gt;&nbsp;Нельзя&nbsp;делать&nbsp;отдельный&nbsp;файл,&nbsp;чтобы&nbsp;читать&nbsp;его&nbsp;в&nbsp;переменную.
 

DiMA

php.spb.ru
Команда форума
Уважаемый,&nbsp;ты&nbsp;не&nbsp;отходи&nbsp;от&nbsp;темы.&nbsp;

твои&nbsp;слова:&nbsp;надо&nbsp;юзать&nbsp;файлы
мои&nbsp;слова:&nbsp;их&nbsp;юзать&nbsp;нельзя

твои&nbsp;слова:&nbsp;юзай&nbsp;некую&nbsp;функцию
мои&nbsp;слова:&nbsp;функция&nbsp;не&nbsp;из&nbsp;той&nbsp;оперы

Ты&nbsp;либо&nbsp;очки&nbsp;протри&nbsp;и&nbsp;о&nbsp;деле&nbsp;говори,&nbsp;либо&nbsp;не&nbsp;флейми&nbsp;этот&nbsp;топик.&nbsp;Я&nbsp;задал&nbsp;вопрос&nbsp;не&nbsp;от&nbsp;нечего&nbsp;делать.&nbsp;Твой&nbsp;ответ&nbsp;я&nbsp;понял,&nbsp;большое&nbsp;спасибо.&nbsp;Проблема&nbsp;пока&nbsp;не&nbsp;решена.
 

DiMA

php.spb.ru
Команда форума
Для&nbsp;людей&nbsp;с&nbsp;математическим&nbsp;мышлением&nbsp;провторяю&nbsp;свою&nbsp;несчастную&nbsp;задачу...

ДАНО:
10&nbsp;кусков&nbsp;текста&nbsp;(текст&nbsp;состоит&nbsp;из&nbsp;букв&nbsp;и&nbsp;символов:&nbsp;кавычки,&nbsp;скобки,&nbsp;слеш,&nbsp;запятая&nbsp;и&nbsp;т.д.)&nbsp;кадждый&nbsp;по&nbsp;10&nbsp;Кб.&nbsp;Появилось&nbsp;много&nbsp;вопросов&nbsp;-&nbsp;откуда&nbsp;они&nbsp;беруться?&nbsp;Отвечаю:&nbsp;из&nbsp;документа&nbsp;WORD,&nbsp;который&nbsp;состоит&nbsp;из&nbsp;10&nbsp;страниц,&nbsp;каждая&nbsp;из&nbsp;страниц&nbsp;-&nbsp;кусок&nbsp;текста.&nbsp;Как&nbsp;они&nbsp;попадут&nbsp;в&nbsp;PHP&nbsp;файл?&nbsp;Способы&nbsp;разные.&nbsp;Наиболее&nbsp;продвинутый:&nbsp;через&nbsp;буфур&nbsp;обмена&nbsp;(либо&nbsp;по&nbsp;кусочкам,&nbsp;либо&nbsp;весь&nbsp;текст&nbsp;сразу).

НАДО:&nbsp;
Сделать&nbsp;php-файл.&nbsp;Перед&nbsp;началом&nbsp;основного&nbsp;кода&nbsp;программы&nbsp;поместить&nbsp;все&nbsp;10&nbsp;кусков&nbsp;в&nbsp;переменные:&nbsp;
1)&nbsp;первый&nbsp;кусок&nbsp;в&nbsp;переемнную&nbsp;$dsfhjdsh
2)&nbsp;второй&nbsp;кусок&nbsp;в&nbsp;переемнную&nbsp;$sajkhjkhds
3)&nbsp;и&nbsp;т.д.&nbsp;по&nbsp;аналогии

Для&nbsp;чего&nbsp;помещать-то?&nbsp;Имея&nbsp;переменные&nbsp;легко&nbsp;печатать&nbsp;их&nbsp;в&nbsp;нужных&nbsp;местах&nbsp;делая&nbsp;вот&nbsp;так:
echo&nbsp;$dsfhjdsh;
Главное,&nbsp;что&nbsp;надо,&nbsp;а&nbsp;не&nbsp;для&nbsp;чего.

Все&nbsp;остальные&nbsp;условия&nbsp;и&nbsp;близкие&nbsp;по&nbsp;идеи&nbsp;фичи&nbsp;&quot;&nbsp;....?&gt;&nbsp;текст&nbsp;&lt;?&nbsp;...&nbsp;&quot;&nbsp;или&nbsp;&quot;print&nbsp;&lt;&lt;&lt;&nbsp;text;&quot;&nbsp;я&nbsp;уже&nbsp;привел.

Не&nbsp;может&nbsp;быть,&nbsp;чтобы&nbsp;такой&nbsp;нужды&nbsp;не&nbsp;возникало&nbsp;у&nbsp;других..&nbsp;а&nbsp;ПХП&nbsp;обычно&nbsp;все&nbsp;нужды&nbsp;то&nbsp;умеет&nbsp;справлять&nbsp;:)

P.S.&nbsp;Одного&nbsp;товарища&nbsp;попрошу&nbsp;успокоиться&nbsp;еще&nbsp;раз,&nbsp;т.к.&nbsp;он&nbsp;не&nbsp;понимает&nbsp;намека&nbsp;прекратить&nbsp;нести&nbsp;лажу.&nbsp;Могу&nbsp;прокомментировать&nbsp;все&nbsp;ответы&nbsp;(они&nbsp;сами&nbsp;по&nbsp;себе&nbsp;бредовые)&nbsp;как-нибудь&nbsp;в&nbsp;другой&nbsp;раз&nbsp;и&nbsp;в&nbsp;_другом_&nbsp;месте.
 

tony2001

TeaM PHPClub
Ка&nbsp;я&nbsp;это&nbsp;сделал&nbsp;в&nbsp;свое&nbsp;время:
1.&nbsp;есть&nbsp;документ&nbsp;Ворда&nbsp;с&nbsp;кавычками&nbsp;и&nbsp;всякими&nbsp;бяками.
2.&nbsp;есть&nbsp;макрос,&nbsp;писаный&nbsp;мной,&nbsp;который&nbsp;кавычки&nbsp;и&nbsp;бяки&nbsp;заменяет&nbsp;на&nbsp;соответствующие&nbsp;символы&nbsp;в&nbsp;ХТМЛ&nbsp;&nbsp;'&nbsp;&quot;&nbsp;'&nbsp;-&gt;&nbsp;'&amp;quot;',&nbsp;концы&nbsp;абзаца&nbsp;на&nbsp;'/p&nbsp;p'.
3.&nbsp;потом&nbsp;вставляю&nbsp;куда&nbsp;надо.

Второй&nbsp;вариант.
1.&nbsp;есть&nbsp;документ&nbsp;Ворда&nbsp;с&nbsp;кавычками&nbsp;и&nbsp;всякими&nbsp;бяками.
2.&nbsp;есть&nbsp;буфер&nbsp;обмена,&nbsp;куда&nbsp;я&nbsp;все&nbsp;это&nbsp;копирую.
3.&nbsp;есть&nbsp;ХТМЛ-файл,&nbsp;в&nbsp;который&nbsp;я&nbsp;все&nbsp;это&nbsp;вставил,&nbsp;который&nbsp;я&nbsp;скриптом&nbsp;читаю&nbsp;и&nbsp;делаю&nbsp;addSlashes&nbsp;()
4.&nbsp;есть&nbsp;ИЕ,&nbsp;есть&nbsp;буфер&nbsp;обмена,&nbsp;есть&nbsp;слешированный&nbsp;текст&nbsp;.

.....в&nbsp;скрипте,&nbsp;который&nbsp;построил&nbsp;я.&nbsp;=)))))
 

DiMA

php.spb.ru
Команда форума
tony2001,&nbsp;все&nbsp;хорошо,&nbsp;только&nbsp;не&nbsp;то..&nbsp;до&nbsp;такого&nbsp;и&nbsp;я&nbsp;сам&nbsp;додумал&nbsp;давно&nbsp;(см.&nbsp;вчерашнюю&nbsp;мессагу)..&nbsp;Если&nbsp;никто&nbsp;ничего&nbsp;не&nbsp;скажет,&nbsp;придется&nbsp;делать&nbsp;одним&nbsp;из&nbsp;способов&nbsp;с&nbsp;наименьшим&nbsp;извратом.&nbsp;А&nbsp;прикинь,&nbsp;было&nbsp;бы&nbsp;удобно&nbsp;$x=?&gt;тест&lt;?;&nbsp;&nbsp;
По&nbsp;аналогии&nbsp;с&nbsp;тем,&nbsp;что&nbsp;`команда`&nbsp;можно&nbsp;присвоить&nbsp;;-)
 

tony2001

TeaM PHPClub
ПОЧЕМУ&nbsp;НЕ&nbsp;ТО?
я&nbsp;не&nbsp;могу&nbsp;понять,&nbsp;почему&nbsp;ты&nbsp;так&nbsp;извращаешься?

Задача&nbsp;такова,&nbsp;если&nbsp;я&nbsp;правильно&nbsp;понял:
есть&nbsp;doc,&nbsp;&nbsp;в&nbsp;нем&nbsp;текст.
ты&nbsp;этот&nbsp;текст&nbsp;хочешь&nbsp;вставить&nbsp;как&nbsp;переменную&nbsp;в&nbsp;скрипт.

ну&nbsp;так&nbsp;переработай&nbsp;его&nbsp;макросом&nbsp;или&nbsp;слэши&nbsp;поставь&nbsp;ОДИН&nbsp;РАЗ&nbsp;и&nbsp;вставь!

могу&nbsp;макрос&nbsp;выслать,&nbsp;если&nbsp;надо.
 

DiMA

php.spb.ru
Команда форума
то,&nbsp;то.&nbsp;До&nbsp;идеи&nbsp;переработки&nbsp;макросом&nbsp;я&nbsp;дошел.&nbsp;Придется&nbsp;делать&nbsp;преобразования&nbsp;перед&nbsp;помещением&nbsp;из&nbsp;ворда&nbsp;в&nbsp;пхп&nbsp;и&nbsp;обратно.&nbsp;Изменять-то&nbsp;текст&nbsp;тоже&nbsp;придется&nbsp;в&nbsp;ворде.&nbsp;Но&nbsp;это&nbsp;не&nbsp;педагогично!&nbsp;Должны&nbsp;быть&nbsp;встроенные&nbsp;средства.&nbsp;Ну,&nbsp;для&nbsp;чего&nbsp;&quot;&lt;&lt;&lt;&quot;&nbsp;придумали-то?
 

tony2001

TeaM PHPClub
&gt;Придется&nbsp;делать&nbsp;преобразования&nbsp;перед&nbsp;помещением&nbsp;из&nbsp;ворда&nbsp;
&gt;в&nbsp;пхп&nbsp;и&nbsp;обратно.&nbsp;
ну,&nbsp;само&nbsp;оно&nbsp;не&nbsp;получится&nbsp;точно&nbsp;=)

&gt;Изменять-то&nbsp;текст&nbsp;тоже&nbsp;придется&nbsp;в&nbsp;ворде.&nbsp;
а&nbsp;как&nbsp;же!&nbsp;выводишь&nbsp;кнопочку&nbsp;на&nbsp;рабочую&nbsp;панель,&nbsp;присваиваешь&nbsp;ей&nbsp;действие&nbsp;&quot;выполнить&nbsp;макрос&quot;,&nbsp;рисуешь&nbsp;не&nbsp;кнопочке&nbsp;красивую&nbsp;картинку,&nbsp;юзаешь...&nbsp;=)))))

&gt;Но&nbsp;это&nbsp;не&nbsp;педагогично!&nbsp;
гораздо&nbsp;педагогичней&nbsp;вставить&nbsp;слешированный&nbsp;текст&nbsp;в&nbsp;MySQL&nbsp;и&nbsp;не&nbsp;мучить&nbsp;себя&nbsp;извращениями.

&gt;Должны&nbsp;быть&nbsp;встроенные&nbsp;средства.
мне&nbsp;очень&nbsp;стыдно,&nbsp;но&nbsp;команды&nbsp;&lt;&lt;&lt;&nbsp;не&nbsp;знаю.&nbsp;что&nbsp;под&nbsp;этим&nbsp;подразумевается?
 

Bizon

Guest
спасибо за исправления.
Без них оно никак не работало.
 

DiMA

php.spb.ru
Команда форума
Спасибо, Бизон! решил проблему.

&gt; спасибо за исправления.
&gt; Без них оно никак не работало.

:)
 

Amigo

Guest
Как поместить в переемнную текст с кавычками, не слешируя их?

&lt;?



print&lt;&lt;&lt;_любая метка

любой текст (обычный или хтмл)
..................

_любая метка ;

?&gt;
 
Сверху