[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: как пронумеровать дивы ?
mitiya
Здравствуйте.
У меня после другого скрипта есть на выходе html в не м есть див с id text он выглядит примерно так:


<div id="text">
<h2>
бла бла</h2>
<div>
бла бла</div>
<div>
бла бла</div>
<h2>
бла бла</h2>
<div>
бла бла</div>
<img>
картинка</img>
<div>
бла бла</div>
<h2>
бла бла</h2>
<div>
бла бла</div>
</div>



мне нужно получить вот такой и запихнуть это обратно в исходный html


<div id="text">
<h2
id="1">бла бла</h2>
<div
id="2">бла бла</div>
<div
id="3">бла бла</div>
<h2
id="4">бла бла</h2>
<div
id="5">бла бла</div>
<img
id="6">картинка</img>
<div
id="7">бла бла</div>
<h2
id="8">бла бла</h2>
<div
id="9">бла бла</div>
</div>



в js с помощью jquery это все не сложно, а вот в php я даже не знаю с чего начать(
AllesKlar
Таки показывай кусок, где в php этот <div id="text"> генерится.
мы ж не знаем, может у тебя там вообще шаблонизатор, в который просто массив летит.

_____________
[продано копирайтерам]
Xpund
    
for($i=1; $i <= 9; $i++)
{
$a = $i + 1;
$b = $i + 2;
echo '<h2 id="'.$i.'">бла бла</h2>
<div id="'
.$a.'">бла бла</div>
<div id="'
.$b.'">бла бла</div>
//etc
'
;
}


_____________
минус, конечно, иногда полезен, но плюс мне нравиться больше :)
Женский журнал - Жена сказала раскрутить сайт любой ценой (Sorry)
mitiya

    
for($i=1; $i <= 9; $i++)
{
$a = $i + 1;
$b = $i + 2;
echo '<h2 id="'.$i.'">бла бла</h2>
<div id="'
.$a.'">бла бла</div>
<div id="'
.$b.'">бла бла</div>
//etc
'
;
}


я не настолько новичок )

Долго объяснять, примем что генерация мне не доступна, есть уже готовый html и его нужно обработать.
kaww
Цитата (mitiya @ 21.05.2015 - 07:07)
есть уже готовый html и его нужно обработать.

$str = '<div id="text">
<h2>бла бла</h2>
<div>бла бла</div>
<div>бла бла</div>
<h2>бла бла</h2>
<div>бла бла</div>
<img>картинка</img>
<div>бла бла</div>
<h2>бла бла</h2>
<div>бла бла</div>
</div>'
;
$count = 0;
echo preg_replace_callback('/<div>/', function($m) use (&$count) {
++$count;
return '<div id="' . $count.'">';
}, $str);
mitiya
ок. а как достать из html сначала div с id text и потом измененный вставить обратно?
mitiya
это все для текста. А для работы парсинга html библиотеки нет ? а то возможностью выбирать ноды хотя бы по id было бы полегче как-то ?
SerginhoLD
гугл отключили?
http://php.net/manual/ru/class.domdocument.php

_____________
"internet explorer всех правильней отображает страницы" ©
DedMorozzz
var i = 0;
$.each($('#text h2'),function(index, value){
i = i+1;
$(value).addClass('new_id_'+i);
});

var i = 0;
$.each($('#text div'),function(index, value){
i = i+2;
$(value).addClass('new_id_'+i);
});


PS: индексы подряд ток сделал. Ну это мелочь. Подправишь сам

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Invis1ble
Цитата (DedMorozzz @ 21.05.2015 - 14:00)
PS: индексы подряд ток сделал. Ну это мелочь. Подправишь сам

Цитата (mitiya @ 21.05.2015 - 03:49)
в js с помощью jquery это все не сложно, а вот в php я даже не знаю с чего начать(
DedMorozzz
Invis1ble, эм... я прямо не знаю что сказать ибо вот:
Цитата (mitiya @ 21.05.2015 - 10:07)
есть уже готовый html и его нужно обработать.

Если мне не отшибло память, то "готовый хтмл" это клиент... пхп - сервер. И обрабатывается "готовый хтмл" никак не пыхом

_____________
Если не говорить пользователям, что Linux это "Сложно и страшно", то им совершенно всё равно, в чём не разбираться
Invis1ble
ну я так понял, что надо изменить html перед отдачей клиенту

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.