Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> выведение больших блоков HTML кода, Помогите тупому быдлокодеру.. Спасибо :) 
V
    Опции темы
Курсант
Дата 19.9.2010, 00:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



У меня проблема - в теле php файла должно быть три блока html текста, и в зависимости от входного параметра на вывод пойдет только один из блоков.

Вопрос - это можно сделать только через echo или есть какие - нибудь более изящные варианты...
Очень не хочется заключать каждую строчку текста в 

Код

echo ' <текст> ' ;


И опять же непонятно как быть с апострофами в строчках, чтобы не получилось так

Код

echo ' В качестве аргумента функция  OutTextXY () использует строку, например OutTextXY ( 'Cтранно...' )';


, то есть чтобы из за апострофов слово 'Странно...' не перестало быть частью аргумента функции echo... Править вручную текст очень нехочется.. Хранить блоки в разных файлах нельзя...

Хотя есть вариант сделать весь блок в кавычках в echo, например так

Код

echo ' <1-я строка>
<2-я строка>
<3-я строка> ';


Спасибо за внимание...

Это сообщение отредактировал(а) Курсант - 19.9.2010, 00:48
PM ICQ Skype   Вверх
Muerto
Дата 19.9.2010, 01:38 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1207
Регистрация: 23.9.2006

Репутация: 3
Всего: 4



Есть множество вариантов к примеру

Код

<<<TEXT
Здесь ваш текст
TEXT;


А что бы это у вас получилось:

Код

echo 'fsdgsdfgsdfg'sdfgsdf';

нужно сменить на 
[code=php]
Код

echo 'fsdgsdfgsdfg\'sdfgsdf';


Это сообщение отредактировал(а) Muerto - 19.9.2010, 01:38


--------------------
user posted image
PM MAIL   Вверх
bars80080
Дата 19.9.2010, 11:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 71
Всего: 315



Цитата(Курсант @  19.9.2010,  00:12 Найти цитируемый пост)
Править вручную текст очень нехочется.. Хранить блоки в разных файлах нельзя...

ну вы сами создаёте себе проблемы. помещаете текст прямо в код, а затем сожалеете, что кавычки создают проблемы. вытащили бы текст в файл - не пришлось бы ничего править
PM MAIL WWW   Вверх
Курсант
Дата 19.9.2010, 13:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Необходимость такая... Простите...

Подскажите, какие символы в тексте нужно заэкранировать обратным слешем?
Я так понял только 

\
'
$
%

Или еще что-то есть?

Это сообщение отредактировал(а) Курсант - 19.9.2010, 13:19
PM ICQ Skype   Вверх
enoff
Дата 19.9.2010, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Курсант, используйте heredoc синтаксис.
Код

$string = <<<E
здесь текст, <br> теги, $var переменные, \$var просто слова, 
' " кавычки разные.
{$array['key']} - массивы.
E;


Это сообщение отредактировал(а) enoff - 19.9.2010, 14:02
PM MAIL ICQ Skype GTalk   Вверх
Курсант
Дата 19.9.2010, 17:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Да просто нет гарантий что у меня в тексте не будет символов, которые нарушат heredoc синтаксис или еще какой нибудь другой.. Проблема в том, что у меня очень много файлов по 5 килобайт, а на сервере минимальный размер файла - 16 килобайт. Вот и получается что у меня вместо 1 Гб файлы занимают 3 гига...

Я хочу в каждый файл по три странички упихать, и подставлять нужную в зависимости от параметра. Хостинг у меня на 1 Гб... В этом проблема....

В общем решение у меня созрело такое - я беру страничку, заменяю все ' \ $ и % соответственно на \' , \\ , \$ и \% , заворачиваю все в кавычки и приписываю слева echo... В конце ставлю точку с запятой ;-) И так c тремя старыми страничками. И все объединяю в один новый php-файл с case-оператором.

Ничего не забыл?

Это сообщение отредактировал(а) Курсант - 19.9.2010, 17:16
PM ICQ Skype   Вверх
enoff
Дата 19.9.2010, 17:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Цитата(Курсант @  19.9.2010,  18:13 Найти цитируемый пост)
на сервере минимальный размер файла - 16 килобайт.

это что за хостер такой? бред какой-то...

Можно БД использовать?
Ну а оптимальный вариант - выбрать другого хостера.

Это сообщение отредактировал(а) enoff - 19.9.2010, 17:33
PM MAIL ICQ Skype GTalk   Вверх
Курсант
Дата 19.9.2010, 18:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Цитата(enoff @ 19.9.2010,  17:29)
Цитата(Курсант @  19.9.2010,  18:13 Найти цитируемый пост)
на сервере минимальный размер файла - 16 килобайт.

это что за хостер такой? бред какой-то...

Можно БД использовать?
Ну а оптимальный вариант - выбрать другого хостера.

Почему бред? Юниксовый хостинг, минимальный размер страницы или как там называется ихняя дисковая ячейка - 8 килобайт... А у этого - 16 килобайт... Сколько килов не делай файл, а меньше 16 он на диске занимать не будет... Как-то так... Менять? Да не, хороший хостинг, мне нравится... 

Вот  в 8 килобайт я бы поместил только один 5-килобайтный файл smile А в 16 килобайт я помещу три smile Выгода в полтора раза smile

Базу использовать нельзя, т.к. тогда прийдется весь движок переписывать...

ПАМЯЗИИТЕ НЯМ smile Ничего я не забыл заэкранировать кроме ' \ % $ ?

Это сообщение отредактировал(а) Курсант - 19.9.2010, 18:21
PM ICQ Skype   Вверх
enoff
Дата 19.9.2010, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Если в одинарные кавычки обарачивать, то экранировать $ не требуется, так как в таких кавычках переменные не интерполируются.
Знак процента зачем экранировать?

PM MAIL ICQ Skype GTalk   Вверх
Курсант
Дата 19.9.2010, 21:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Цитата(enoff @  19.9.2010,  20:49 Найти цитируемый пост)
Если в одинарные кавычки обарачивать, то экранировать $ не требуется, так как в таких кавычках переменные не интерполируются.
Знак процента зачем экранировать?



Знак процента экранировать - это вроде какой то там форматированный вывод типа 
Код

echo $d1, "Привет всем, мне %d лет"; 
или что то в этом роде...

Простите, то есть в одинарных кавычках вообще ничего не интерполируется, и экранировать надо только ' ? А как же ?
Спасибо...

Кстати, у меня все работает уже, главное со страничками не напутать теперь ничего, но вроде пока норм...

Добавлено спустя 15 минут 

Да, со страничками все норм, теперь лишнюю защиту от интерполяции убрать надо smile Добавляю \ только перед апострофом и обратным слешем, остальные символы не экранирую? Строки заключил в одинарные кавычки...

Это сообщение отредактировал(а) Курсант - 19.9.2010, 22:07
PM ICQ Skype   Вверх
enoff
Дата 19.9.2010, 22:07 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 297
Регистрация: 30.6.2010
Где: Санкт-Петербург

Репутация: 11
Всего: 13



Цитата(Курсант @  19.9.2010,  22:46 Найти цитируемый пост)

Знак процента экранировать - это вроде какой то там форматированный вывод типа 

Это относиться к printf подобным функциям.
Слеш нужно тоже экранировать. Кавычка и слеш, на этом все.
PM MAIL ICQ Skype GTalk   Вверх
Курсант
Дата 19.9.2010, 22:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 338
Регистрация: 21.2.2009
Где: Балашиха или Воро неж

Репутация: нет
Всего: 4



Спасибо... Пытаюсь плюсануть но не получается чтото ) Может репутации не хватает...
PM ICQ Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1072 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.