Всем привет! Друзья, подскажите пожалуйста, собираю все тайтлы со страницы сайта. http://prntscr.com/ndkhde Нужно сделать чтобы сохранялись данные где не менее 3-х и не более 10 слов. Сейчас вот такой вывод [% FOREACH item IN p1.title; item.texttitle _ "\n"; END %] Подскажите пожалуйста.
Здравствуйте. Можно попробовать так Спойлер: Код пресета eJyNVH9v2jAQ/SqW1VZUhRAKbae06kTZWLtS6ArVpBE0ecShHk6c2Q79gfjuOzsh ELZJ+yfJne/ePd+93BJroubqXlJFtcLeeIkT+409HNCQpFzjKk6IVFSa4zHuU+15 16PRPfiLiCXWrwmFHLGgUrKAwiELwA6FjIgGxAxoQXhqwsb7fnzTRZppTpWj2BtF l+gYHRyUXBeo0Tj3Y19bJ/qOfOyDicH3sf8BnvsTvPp37ZkQQUdYO687PnbdyVbG NFVaRA9rdjlNuDnRxNoz+gLmha1/WRn7vvL94eTo/eGF79etdx02yhALlNwOOTHI REry2idRKcT0E2cg/0OqVM70kNTe2rVvfuq2mm7NvFqhfTUy6zicHO2wm+3Ss7x2 +GUTKLNkmkYlkru9TkEfNTKj8faU0Z14Y5yT+onjospXFgfiWaH+CDVcxz1H4Dht naOX09YhaicJp1/pj1um6yfNM6d5iiq316O7XhVxNqfoE53OxSHqPEkR0fpZ03Eh 5F3TabhNNCQhkSxPw6vJpKDeteoDJntJw8l1XRwOyYKOhJkRy/ua5YCVd2IPdEDN qZPJuHLo6Bc7ziBgmomY8KyC6dGm6mPMftn7xwJi4VMyqrpA3DSXWgDjfF2zG+M9 a2OASG3ulywHeyHhilaxAqpdAkSC3RMYjCRayEFi+IB/iUXc5rxHF5Rvwiz+Vcp4 AL9xO4Skmzzx7yGDPzBWxfW2S4EKniVwKFCsdTW422QFoidm62bMKU2K9vSNJxKS Fog5SF4IllJC46D0y4BOCleJcWkCZedUxCGbDXLFriPTeASbbxB3RATSM1eIU86r RskPGyW0Vd5xY2wI7iZ3bInSztRCcPV5mFFNJAOlnRiCETRtu2oOOSWcPz70tk/w Rj1gPGmdKK9eJ7VsGztTEJTJ03QmQDxwq9WkWNXFQl9uLWxvuYKB/FT3WYy5kokA H/RGwQiw11j9Bp7bDeM=
Не подходит, видимо из за того что ваш пример парсит одно содержимое и разбивает на массив и уже этот массив проверяет на кол-во слов. Все дело в том что я собираю через HTML::LinkExtractor Так как на странице много повторяющихся данных которые нужно собрать и они в тегах title поэтому и собираю в массив И у меня несколько выводов, среди них есть и этот [% FOREACH item IN p1.intlinks; item.anchor _ "\n"; END %] Применить условие кол-ва слов также нужно и к anchor
Принцип тот же самый. С элемента массива регулярным выражением собираете слова, и точно так же проверяете Код: [% FOREACH item IN p1.intlinks; words = item.anchor.match('[a-zA-Zа-я-А-Я]+',1); IF words.size > 2 && words.size < 11; item.anchor _ "\n"; END; END; %]
Пустой вывод получается ). Хотя так выводит [% FOREACH item IN p1.intlinks; item.anchor _ "\n"; END %]
Поменял строку вывода. Попробуйте так Код: [% FOREACH item IN p1.intlinks; words = item.anchor.match('[a-zA-Zа-я-А-Я]+',1); IF words.size > 2 && words.size < 11; item.anchor _ "\n"; END; END; %]