<div dir="ltr">У меня этот код из<div><br><div><div><div></div><div><img class="image-left" alt="some"></div><div><img class="image-left"></div><div></div></div></div><div>
<br></div><div>формирует</div><div><div><div></div><div><figure class="image-left"><img alt="some" class="image-left" /><figcaption>some</figcaption></figure></div>
<div><figure class="image-left"><img class="image-left" /></figure></div><div></div></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">27 декабря 2013 г., 2:54 пользователь Nick Knutov <span dir="ltr"><<a href="mailto:mail@knutov.com" target="_blank">mail@knutov.com</a>></span> написал:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Очень редко использую Mojo::DOM и не могу понять как сделать ->each так,<br>
чтобы заменить найденное чем-то, сгенерированным на основе найденного.<br>
<br>
Пример:<br>
<br>
$dom->find('img.image-left')->each(sub {<br>
        my $img = shift;<br>
        my $alt = $img->attr('alt') | '';<br>
        my $r = '<figure class="image-left">'<br>
                . $img<br>
                . (length($alt)>1? '<figcaption>'.$img->attr('alt').'</figcaption>' : '')<br>
                . '</figure>';<br>
        $img->replace($r);<br>
        return $img->root;<br>
});<br>
<br>
Внутри $img->root я получаю именно тот, который надо. Но снаружи ничего<br>
не меняется. Где я не прав?<br>
<br>
Подходящие слова к гуглу на тему "mojo dom each replace" подобрать не<br>
удалось. Нагуглить альтернативы Mojo::DOM - тоже. Есть pQuery и куча<br>
разных ::DOM, но нигде не вижу функционала для найти и заменить на<br>
производное от найденного (а во многих модулях и замены нет).<br>
<span class="HOEnZb"><font color="#888888"><br>
--<br>
Best Regards,<br>
Nick Knutov<br>
<a href="http://knutov.com" target="_blank">http://knutov.com</a><br>
ICQ: 272873706<br>
Voice: +7-904-84-23-130<br>
--<br>
Moscow.pm mailing list<br>
<a href="mailto:moscow-pm@pm.org">moscow-pm@pm.org</a> | <a href="http://moscow.pm.org" target="_blank">http://moscow.pm.org</a><br>
</font></span></blockquote></div><br></div>