|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 17 Nov 2004 01:58:55 To : Ilyak Kaznacheev Subject : Re: Замена при условии -------------------------------------------------------------------------------- Ilyak Kaznacheev -> Artem Chuprina @ Tue, 16 Nov 2004 15:31:18 +0000 (UTC): >> >>> Имеется строка, в которой могут встречаться штуки вида ":имя:". >> >>> Hужно заменить рэгэкспом эти штуки на "<img src=smiles/имя.gif>" при >> >>> условии, что имя.gif существует. Менять можно не более трех таких >> >>> фиговин. >> >>> (Это типа смайлики в чате). >> AS>> my $x = 0; s|:(\w+):|$x < 3 && -f "$1.gif" ? ($x++, "<img >> AS>> src=smiles/$1.gif>") : $&|ge; >> AS> Здорово! Кто бы мог подумать, что внутрь регекспа можно цикл >> >>> запихнуть! :)) >>Любой, кто читал perldoc perlre. IK> Полчаса читал вчера perlre - не нашел там этого. IK> А зато нашел в perlop :) Ты с прямым углом не перепутал? Цикл внутрь регекспа - это как раз в perlre. Искать подстроку "(?{ code })". -- Artem Chuprina <ran@ran.pp.ru> FIDO: 2:5020/122.256 --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/121920b9e49cb.html, оценка из 5, голосов 10
|