У меня этот код из <div> <img class="image-left" alt="some"> <img class="image-left"> </div>
формирует <div> <figure class="image-left"><img alt="some" class="image-left" /><figcaption>some</figcaption></figure> <figure class="image-left"><img class="image-left" /></figure> </div> 27 декабря 2013 г., 2:54 пользователь Nick Knutov <[email protected]> написал: > Очень редко использую Mojo::DOM и не могу понять как сделать ->each так, > чтобы заменить найденное чем-то, сгенерированным на основе найденного. > > Пример: > > $dom->find('img.image-left')->each(sub { > my $img = shift; > my $alt = $img->attr('alt') | ''; > my $r = '<figure class="image-left">' > . $img > . (length($alt)>1? > '<figcaption>'.$img->attr('alt').'</figcaption>' : '') > . '</figure>'; > $img->replace($r); > return $img->root; > }); > > Внутри $img->root я получаю именно тот, который надо. Но снаружи ничего > не меняется. Где я не прав? > > Подходящие слова к гуглу на тему "mojo dom each replace" подобрать не > удалось. Нагуглить альтернативы Mojo::DOM - тоже. Есть pQuery и куча > разных ::DOM, но нигде не вижу функционала для найти и заменить на > производное от найденного (а во многих модулях и замены нет). > > -- > Best Regards, > Nick Knutov > http://knutov.com > ICQ: 272873706 > Voice: +7-904-84-23-130 > -- > Moscow.pm mailing list > [email protected] | http://moscow.pm.org >
-- Moscow.pm mailing list [email protected] | http://moscow.pm.org
