Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/15: Рейтинг темы: голосов - 15, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 15

Генерирую сайт на php - получаю код html в одну строку. Почему?

03.12.2012, 04:46. Показов 3222. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет!
собсно непонятно:
есть генератор сайта на php
подставляю html шаблон с прописанными макросами (взять текст из файла и подставить в шаблон)
после генерации все строки html док-та прописываются в одну строку.

как сделать так чтобы строки оставались в таком же положении как и в первичном html шаблоне?
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.12.2012, 04:46
Ответы с готовыми решениями:

Html-код в одну строку. Оптимизация сайта
Здравствуйте. Есть ли смысл выводить код html в одну строку? Дает ли это какие-нибудь плюсы?

PHP встроенный в HTML. Почему не работает код?
При выполнении возникает ошибка: Undefined variable i; <table> <? foreach (range(1, 100) as $i) {?> <tr> ...

В таймере получаю html код,возникает ошибка 429
st.add(idhttp1.get('http://steamcommunity.com/market/search/render/?query=&start=0&count=10&'+'search_descriptions=0&sort_column=price&sort_...

13
50 / 40 / 5
Регистрация: 30.06.2010
Сообщений: 1,191
03.12.2012, 10:23
Попробуй в конце каждой строки ставить "\r\n"
0
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 15
03.12.2012, 18:10  [ТС]
да строк слишком много..

вот основные

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
require ('simple_html_dom.php');
set_time_limit(0);
$filearray = glob("xml/*.xml");
echo "Was found ".count($filearray).'txt files<br>';
$cat = ceil(count($filearray)/50.0);
$string_cats = '<a href="index.html">1</a>  ';
for($j = 2; $j <= $cat; $j++){
    $string_cats.='<a href="cat_'.$j.'.html">'.$j.'</a>  ';
}
var_dump($filearray);
//die;
 
$count = 1;
 
$html = new simple_html_dom();
$html = file_get_html('template.html');
 
//$index = new simple_html_dom();
$index = fopen('index.html', 'r');
//$index = file_get_html('index.html');
$index_html = fread($index, 100000);
$new_cats = $index_html;
$count_cat = 1;
$current_cat = ('html/index.html');
 
 
$sitemap = fopen('sitemap.html', 'r');
$sitemap_html = fread($sitemap, 100000);
 
 
foreach($filearray as $files_name){
   
$xml = simplexml_load_file($files_name,SimpleXMLElement,LIBXML_NOCDATA );
$my_post = array();
 
 
foreach ($xml as  $key => $value) {
  $my_post["$key"] = trim($value);
  
}
$b = $html -> find('#post', 0);
$b->outertext = $my_post['post'];
$b = $html -> find('#mytitle', 0);
$b->outertext = '<h2>'.$my_post['title'].'</h2>';
$b = $html -> find('title', 0);
$b->innertext = $my_post['title'];
$b = $html -> find('cats', 0);
$b->outertext = $string_cats;
 
    $html -> save('html/article_'.$count.'.html');
    //$a = $index -> find('next_search', 0);
    $short_post = substr($my_post['post'], 0, 255);
    $short_post .="...";
    $new_cats = str_replace('<next_search></next_search>', '<p><h2><a href="article_'.$count.'.html" title="'.$my_post['title'].'">'.$my_post['title'].'</a></h2>'
    .$short_post.'</p>'."\r\n<next_search></next_search>", $new_cats);
    
    //$a->outertext = '<p><h2><a href="article_'.$count.'.html" title="'.$my_post['title'].'">'.$my_post['title'].'</a></h2>'.$short_post.'</p>'."\r\n<next_search></next_search>";
    $sitemap_html = str_replace('<next_search></next_search>', '<p><a href="article_'.$count.'.html" title="'.$my_post['title'].'">'.$my_post['title'].'</a></p>'."\r\n<next_search></next_search>", $sitemap_html);
    $count++;
    if(($count%50) == 0){
        //$a = $index -> find('next_search', 0);
        //$a->outertext = '';
        $new_cats = str_replace('<next_search></next_search>', '', $new_cats);
        $new_cats = str_replace('<cats></cats>', $string_cats, $new_cats);
        $handle = fopen($current_cat, 'w+');
        fwrite($handle, $new_cats);
        fclose($handle);
        //$index ->save($current_cat);
        $count_cat++;
        //$index ->clear();
        //$index = file_get_html('index.html');
        $current_cat = ('html/cat_'.$count_cat.'.html');
        $new_cats = $index_html;
    } 
    //$cat_html = str_replace('<next_search></next_search>', '<p><a href="article_'.$count.'.html" title="'.$title.'">'.$title.'</a></p>'."\r\n<next_search></next_search>", $cat_html);
    
    
}
$new_cats = str_replace('<next_search></next_search>', '', $new_cats);
$new_cats = str_replace('<cats></cats>', $string_cats, $new_cats);
$handle = fopen($current_cat, 'w+');
fwrite($handle, $new_cats);
fclose($handle);
$sitemap_html = str_replace('<next_search></next_search>', '', $sitemap_html);
$sitemap_html = str_replace('<cats></cats>', $string_cats, $sitemap_html);
$new_sitemap = fopen('html/sitemap.html', 'w+');
fwrite($new_sitemap, $sitemap_html);
fclose($new_sitemap);
fclose($sitemap);
Добавлено через 3 часа 55 минут
Возможно это как то можно исправить в simple_html_dom.php ?

Добавлено через 43 минуты
Цитата Сообщение от ProstoMad Посмотреть сообщение
Попробуй в конце каждой строки ставить "\r\n"
в шаблоне ? не получается.. отображает просто "\r\n"
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
03.12.2012, 21:40
nl2br()?
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
04.12.2012, 11:55
Цитата Сообщение от KOPOJI Посмотреть сообщение
nl2br()?
KOPOJI, ТС нужно чтобы сам исходный HTML код отображался не так:
HTML5
1
<html><head><title>Заголовок</title></head><body>...</body></html>
А так:
HTML5
1
2
3
4
5
6
7
8
<html>
    <head>
        <title>Заголовок</title>
    </head>
    <body>
    ...
    </body>
</html>


Добавлено через 2 минуты
Хабибулин, а зачем вам это понадобилось? Идёально всё равно не сделать. Например посмотрите исходный код этой страницы. Не в одну строку, но всё же... Разобраться что к чему нелегко
0
 Аватар для alpex
603 / 578 / 103
Регистрация: 16.07.2012
Сообщений: 1,762
04.12.2012, 13:27
я когда то тоже пытался так делать, потом понял, что лучше на это дело забить, главное что бы в php файлах все красиво было
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
 Аватар для KOPOJI
16844 / 6724 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
04.12.2012, 13:38
чтобы в исходном коде так отображалось надо вставлять \n т.к. там в текстовом виде отображается
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
04.12.2012, 14:02
Цитата Сообщение от KOPOJI Посмотреть сообщение
чтобы в исходном коде так отображалось надо вставлять \n т.к. там в текстовом виде отображается
Выше то же самое (или почти тоже самое) :
Цитата Сообщение от ProstoMad Посмотреть сообщение
Попробуй в конце каждой строки ставить "\r\n"
На что ТС ответил:
Цитата Сообщение от Хабибулин Посмотреть сообщение
да строк слишком много..
0
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 15
04.12.2012, 14:57  [ТС]
Цитата Сообщение от Lyodik Посмотреть сообщение
а зачем вам это понадобилось? Идёально всё равно не сделать. Например посмотрите исходный код этой страницы. Не в одну строку, но всё же... Разобраться что к чему нелегко

Понадобилось за тем, что в одну строку что либо править очень затруднительно во-первых..
во-вторых, когда вставляю в шаблон js код - отображается некорректно опять таки изза перераспределения строк. Приходится вставлять блокнотом через функцию "заменить" и опять таки, если подставлять скрипт одной строкой - это одно дело, а если подставлять к примеру с переходами строк, то в 10% при сохранении плывет разметка и некорректно отображается яваскрипт. В итоге колбаса длиннючая в которой сложно чтолибо найти и что либо заменить или добавить.
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
04.12.2012, 15:01
Ааа, так у вас не движок на php, а генератор HTML файлов? Тогда только это:
Цитата Сообщение от ProstoMad Посмотреть сообщение
Попробуй в конце каждой строки ставить "\r\n"
Цитата Сообщение от KOPOJI Посмотреть сообщение
чтобы в исходном коде так отображалось надо вставлять \n
0
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 15
04.12.2012, 15:03  [ТС]
"\r\n" не годится - отображается просто потом также все в одну строку только после каждого поля где я проставляю "\r\n" или \n или еще как то - добавляются эти символы

Добавлено через 2 минуты
Господа phpшники, ответ прост как ясное небо! почему никто не смог догадаться?
PHP
1
$html = file_get_html('template.html', false, null, -1, -1, true, true, DEFAULT_TARGET_CHARSET, false);
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
04.12.2012, 15:06
Библиотека конечно известная, но видимо её не очень хорошо знают.
0
0 / 0 / 0
Регистрация: 03.10.2012
Сообщений: 15
04.12.2012, 16:31  [ТС]
да дело в том что это правка не в библиотеке, а в коде, который я выше упоминал
0
Эксперт PHP
5755 / 4134 / 1508
Регистрация: 06.01.2011
Сообщений: 11,276
04.12.2012, 16:36
Цитата Сообщение от Хабибулин Посмотреть сообщение
да дело в том что это правка не в библиотеке, а в коде, который я выше упоминал
Да, исправляли в коде:
PHP
1
$html = file_get_html('template.html', false, null, -1, -1, true, true, DEFAULT_TARGET_CHARSET, false);
Но file_get_html - это функция библиотеки Simple Html Dom . И какие аргументы она принимает можно узнать, изучив библиотеку (хотя бы чуток).
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
04.12.2012, 16:36
Помогаю со студенческими работами здесь

Почему срабатывает код php, если он идет раньше, чем POST запрос html формы?
Приветствую всех! Имеется код, который чудесно работает: &lt;? if(isset($_POST)){ $name = trim(strip_tags($_POST)); } ...

Как с сайта сохранить html-код в строку, при условии входа на этот сайт под логином и паролем?
Здравствуйте. Ниже приведен код, который сохраняет html-код в строку: public class PonRu { public static void main(String...

В файл HTML записан HTML код с выполнением скрипта. Сформировать новое окно из этого HTML кода (c php)
php используется для взятия переменной с сервера, поэтому требуется php переменная. Сейчас я поместил файлы в один каталог, просто для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
Киев стоит - украинская песня
zorxor 28.01.2026
wfWdiRqdTxc О Господи, Вечный, Ты . . . Я помоги, Бесконечный. . . Я прошу Ты. . . Я погибаю, спаси. . . Я прошу Тебя Вечный. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
Загрузка PNG с альфа-каналом на SDL3 для Android: с помощью SDL3_image
8Observer8 27.01.2026
Содержание блога SDL3_image - это библиотека для загрузки и работы с изображениями. Эта пошаговая инструкция покажет, как загрузить и вывести на экран смартфона картинку с альфа-каналом, то есть с. . .
влияние грибов на сукцессию
anaschu 26.01.2026
Бифуркационные изменения массы гриба происходят тогда, когда мы уменьшаем массу компоста в 10 раз, а скорость прироста биомассы уменьшаем в три раза. Скорость прироста биомассы может уменьшаться за. . .
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru