Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Подскажите подробный алгоритм вложенности
 
 автор: prosaic   (26.03.2007 в 16:35)   письмо автору
 
 

Если кто-то знает, то подскажите как реализовать на php то, что делает браузер. я написал предварительный код. он обрабатывает строку. разбивает на теги и текст. записывает свойства тегов.

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

   
 
 автор: bronenos   (26.03.2007 в 16:49)   письмо автору
 
   для: prosaic   (26.03.2007 в 16:35)
 

простите, что лезу несколько глубже, но...... нафига?
просто делайте print / echo и браузер сделает все сам!

   
 
 автор: prosaic   (26.03.2007 в 18:19)   письмо автору
 
   для: bronenos   (26.03.2007 в 16:49)
 

меня спрашивают уже не первый раз. информация в html коде переносится в прогу. так вот чтобы её туда передать нужно её преобразовать. привести в определенный вид. для этого нужно сделать то, что делает браузер.
подскажите, пожалуйста.

   
 
 автор: SHAman   (26.03.2007 в 18:51)   письмо автору
 
   для: prosaic   (26.03.2007 в 18:19)
 

Давайте встанем на место браузера:
Я встречаю тэг html. Чтобы узнать где кочается его содержимое, я ищу тэг </html>
Хорошо, нашел. Теперь я нашел тэг head, узнаю-ка я а где кончается он </head>
Теперь проанализирую то, что нашел в тэге head.
Встретил тэг meta. Я знаю, что он не контейнерный. Не буду искать </meta>, а аттрибуты запомню.


Думаю, как-то так идет алгоритм. То есть, сверху-вниз, снаружи внутрь. Но предполагается, что html написан без ошибок (нет закрывающих тэгов без открывающих, соблюдена вложенность и нет ошибок типа <b><i>text</b></i> и пр.), кроме того, я думаю, будет не легко объединить все собранные данные воедино. Хотя, если пихать все тэги и инфу о них в массив поочереди... Все равно, это довольно сложная задача, я думаю. И, почти наверняка, без рекурсии не обойтись.

function parse_tag
{
if (нашел новый тэг внутри этого)
{parse_tag()}
}

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования