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

Как спарсить содержимое тег pre?

18.08.2013, 19:03. Показов 2243. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Пытаюсь спарсить содержимое тега <pre> и никак не получается. Нужно, чтобы сохранялось форматирование текста. А тот метод, что использующую сбивает весь текст в строку.

Использую PHP Simple HTML DOM Parser

Код:
PHP
1
2
3
4
$data = file_get_html("http://*****");
foreach($data->find('pre') as $a){
        $text = iconv('utf-8','cp1251',$a->plaintext);
    }
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
18.08.2013, 19:03
Ответы с готовыми решениями:

Спарсить тег
Пытаюсь спарсить тег font с сайта таким кодом, использую PHP Simple HTML DOM Parser &lt;?php require_once 'simple_html_dom.php'; ...

Где спарсить матчи или взять в ввиде json, ато спарсить не получается, нужны название. дата и время и коэфициенты
&lt;? include 'simple_html_dom.php'; $maxpost = '5'; // к-во постов $url = 'http://soccer365.ru/'; $ch = curl_init($url); ...

Спарсить содержимое тега и скопировать в другой тег
Помогите, пожалуйста, есть определенная конструкция вида &lt;tag1&gt;ТЕКСТ&lt;/tag1&gt; нужно спарсить и поместить &quot;ТЕКСТ&quot; между...

7
:)
 Аватар для PlumBoom
134 / 134 / 31
Регистрация: 30.03.2013
Сообщений: 428
18.08.2013, 21:49
Вы наверное сразу приступаете к написанию кода? Так ведь? Это самая распространенная ошибка новичков. Для начала вам необходимо набросать алгоритм работы, потом уже реализовать этот алгоритм с помощью кода (в данном случае на PHP)

Так уж и быть, напишу его за вас

Если встречается только один раз <pre></pre>
1. Находим <pre> и запоминаем его позицию.
2. Находим </pre> и запоминаем его позицию.
3. Считываем данные, начиная с позиции (int)<pre> + 1 до позиции (int)</pre> - 1.
4. Выводим данные (по желанию ).

Если встречается более одного раза <pre></pre>
1. Находим <pre> и запоминаем его позицию.
2. Находим </pre> и запоминаем его и (int)</pre> + 1 позиции.
3. Считываем данные, начиная с позиции (int)<pre> + 1 до позиции (int)</pre> - 1 и сохраняем результат.
4. При следующей итерации начинаем парсить с позиции (int)</pre> + 1, которую запомнили в п.2.
5. Повторяем действия из пунктов 1-4 пока не дойдем до конца файла.
6. Выводим данные (по желанию ).
0
0 / 0 / 0
Регистрация: 18.08.2013
Сообщений: 4
18.08.2013, 23:32  [ТС]
Да, да. Я сам сообразил, но спасибо, что тоже расписали. Но в данном случае это уже получается не через PHP Simple HTML DOM Parser, а использую обычные строчные функции.
0
:)
 Аватар для PlumBoom
134 / 134 / 31
Регистрация: 30.03.2013
Сообщений: 428
19.08.2013, 00:38
Про PHP Simple HTML DOM Parser я даже не знал Я любитель изобретать свое
0
 Аватар для zerokko
5 / 5 / 3
Регистрация: 21.01.2010
Сообщений: 51
19.08.2013, 17:59
Вместо "plaintext" напишите "innertext", если Вам не нужен сам тег <pre>; либо "outertext", если тег <pre> нужен
Подробнее - онлайн документация по библиотеке на Инглише
0
0 / 0 / 0
Регистрация: 18.08.2013
Сообщений: 4
20.08.2013, 04:36  [ТС]
Цитата Сообщение от zerokko Посмотреть сообщение
Вместо "plaintext" напишите "innertext", если Вам не нужен сам тег <pre>; либо "outertext", если тег <pre> нужен
Подробнее - онлайн документация по библиотеке на Инглише
Попробовал все предложенные вами методы, не работают - переход на новую строку всё равно сбивается.
0
 Аватар для zerokko
5 / 5 / 3
Регистрация: 21.01.2010
Сообщений: 51
20.08.2013, 05:32
Цитата Сообщение от Stalk-p Посмотреть сообщение
Попробовал все предложенные вами методы, не работают - переход на новую строку всё равно сбивается.
давайте пациента, можно в личку
0
0 / 0 / 0
Регистрация: 18.08.2013
Сообщений: 4
20.08.2013, 06:05  [ТС]
Цитата Сообщение от zerokko Посмотреть сообщение
давайте пациента, можно в личку
Уже не требуется, сделал другим методом, используя обычные функции для строк.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
20.08.2013, 06:05
Помогаю со студенческими работами здесь

Как спарсить в массив содержимое вебстраниц из списка
Добрый день. Помогите пожалуйста новичку. Есть txt-файл со списком URL: https://autobaza.kg/ajax/phone/53627 ...

Вставка тега <pre></pre> в файлы директории
Здравствуйте, форумчане! Не подскажете как можно средствами php вставить тег &lt;pre&gt;&lt;/pre&gt; во все текстовые файлы в директории...

Нужно скопировать содержимое тега в другой тег
Есть страничка html: &lt;!doctype html&gt; &lt;html&gt; &lt;head&gt; &lt;title&gt;&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;h4&gt;Содержимое тега Н4&lt;/h4&gt; ...

Как вывести из текстовой базы тег h1 в тег title ?
Такое дело, у меня сайт написан на php верх идёт отдельно verh.php в нем в title прописано &lt;? echo $title ?&gt; , а в conf.php...

Убрать тег <hide> и его содержимое
Суть: поиск на моем форуме (движке) мне выдает скрытое содержимое под тегом &lt;hide&gt; &lt;hide...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru