HTML::AAFind

   ID:komoriya
about me

- ID komoriya

- 名前 小森谷 一生

- 所属 livedoorでMobile関連

- Work HTTP::MobileJpCSS
about HTML::AAFind



HTML内のアスキーアートを探します
アスキーアートといえば?!
          ____
         /       \
       /─        ─\
     /    (●) (●) \
     |      (__人__)    | ________
...
____              ) やる夫で学ぶスレを2chコピペブログに投稿だお!
             /⌒ ⌒\                 ) これで今日もホッテントリ入り間違い無しだお!
          /( ●) (...
___
      /⌒ ⌒\ ホジホジ
  /( ●) (●)\             そういえばAAって携帯から見るとどうなってるんだお?
/::::::⌒(__人__)⌒::::: \ 最近は携帯からBlog見る人も多いお。
|  ...
____
     /::::::─三三─\                        せっかくのポルナレフがケータイの
/:::::::: ( ○)三(○)\                      液晶に収まりきれずにガタガタだお...
Mobile
PC
____
      /⌒ ⌒\
  /( ●) (●)\
/::::::⌒(__人__)⌒::::: \   AAを画像に変換して横幅を240px以下に
|        |r┬-|        |   収めれば携帯でも見れるお!
\   ...
/ ̄ ̄\
 /     _ノ \
 |     ( ●)(●)     Blogの記事の中からAAのみを動的に判別して
.|       (__人__)    抜き出す必要があるだろう。
   |      ` ⌒ノ
.ヽ           ...
_,..:.:-:.:―:-:....、
             ,.r:':./:.:.:.:.:.:.:.:.:.:.:.:.:.:.::`丶、
        /:.:./:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:....
スペースが
         スペースが多い
         ┌─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐
        ┌          ___                              <- 1...
sub maybe_aa {
  my $buf = shift;
  return unless $buf;

    $buf =~ s/<.*?>//g;
    return unless $buf;

    # force deli...
/)
                 ///)
              /,.=゙‘’“/
  /          i f ,.r=‘”-‐'つ____               細けぇことはいいんだよ!!
/          / ...
____
         /         \
       /─          ─\
   /       (●) (●) \
   |        (__人__)      | そんな訳で完成したのが、
   \         ...
SYNOPSIS

use HTML::AAFind;

my $finder = HTML::AAFind->new(sub {
    my $aa = shift;
    return sprintf(‘<font color=“#FF...
抽出したAAを画像に変換

              / ̄ ̄\
           / ヽ_ .\
          ( ●)( ●) |       ____
          (__人__)      | /         \
 ...
REPOSITORY



CodeRepos:
   lang/perl/HTML-AAFind
_   -───-      _
           , '´                  `ヽ

          /
          /                              \

         / _...
HTML::AAFind in Yokohama.pm #4
Upcoming SlideShare
Loading in...5
×

HTML::AAFind in Yokohama.pm #4

1,100

Published on

http://yokohama.pm.org/2009/03/yokohamapm-4.html

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,100
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

HTML::AAFind in Yokohama.pm #4

  1. 1. HTML::AAFind ID:komoriya
  2. 2. about me - ID komoriya - 名前 小森谷 一生 - 所属 livedoorでMobile関連 - Work HTTP::MobileJpCSS
  3. 3. about HTML::AAFind HTML内のアスキーアートを探します
  4. 4. アスキーアートといえば?! ____ / \ /─ ─\ / (●) (●) \ | (__人__) | ________ \ ` ⌒´ ,/ | | | ノ \ || | /´ || | | l || | ヽ -一ー_~、⌒)^),-、 | |_________| ヽ ____,ノγ⌒ヽ)ニニ- ̄ || | やる夫で学ぶHTML::AAFind
  5. 5. ____ ) やる夫で学ぶスレを2chコピペブログに投稿だお! /⌒ ⌒\ ) これで今日もホッテントリ入り間違い無しだお! /( ●) (●) \ )/⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y⌒Y丶 / ::::::⌒(__人__)⌒::::: \ | |r┬-| | \ `ー'´ / ノ \ /´ ヽ カ | l l||l 从人 l||l l||l 从人 l||l カ タ ヽ -一''''''quot;~~``'ー--、 -一'''''''ー-、. タ ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) ┌┬┬┐┌┬┬┬┐┌┬┬┬┐┌┬┬┬┐ ,. - ''quot;| ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ρ ̄`l  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ノ
  6. 6. ___ /⌒ ⌒\ ホジホジ /( ●) (●)\ そういえばAAって携帯から見るとどうなってるんだお? /::::::⌒(__人__)⌒::::: \ 最近は携帯からBlog見る人も多いお。 | mj |ー'´ | \ 〈__ノ / ノノ
  7. 7. ____ /::::::─三三─\ せっかくのポルナレフがケータイの /:::::::: ( ○)三(○)\ 液晶に収まりきれずにガタガタだお! |::::::::::::::::::::(__人__):::: | _____ \::::::::: |r┬-| ,/ .| | 超スピードだとか催眠術とか ノ:::::::: `ー‘´ \ | | そんなチャチなもんじゃ断じてないお
  8. 8. Mobile PC
  9. 9. ____ /⌒ ⌒\ /( ●) (●)\ /::::::⌒(__人__)⌒::::: \ AAを画像に変換して横幅を240px以下に | |r┬-| | 収めれば携帯でも見れるお! \ `ー'´ /
  10. 10. / ̄ ̄\ / _ノ \ | ( ●)(●) Blogの記事の中からAAのみを動的に判別して .| (__人__) 抜き出す必要があるだろう。 | ` ⌒ノ .ヽ } ヽ ノ \ / く\ \ | \ \ 旦~ .\ | |ヽ、二⌒)、 \
  11. 11. _,..:.:-:.:―:-:....、 ,.r:':./:.:.:.:.:.:.:.:.:.:.:.:.:.:.::`丶、 /:.:./:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.ヽ、 /:.:.:.:/:.:.:.:,r:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:ト:.:.:.:.:.\ /:.:.:.:.!:.:.:./:.:/:.:.:.:./:.:.:.:.:.:l:.:.:.:.:!:.ヽ:.ヽ:.:.;ヽ /:.:.:.:.:l:.:.:/:./l:.://:,:イ:.:/l:.:.:.:ハ:.jl:.:.:i:.:l:.、ヽ /:.:.:.:.:.:l:.:.:l:/:.レ_/'´/シ !:.ツ′.V ';.:.l.:.!:.:l:.:', /:.ィ:.:.:.:.:i:.:.:':.:.:.:!__```¬ ' ´ , --l:.、/:/:l:.:l ´ l;‘;.:.:.:.’,:.:.:.:.<7:::::::`ヽ _ レ/:‘:ノ!/ ';l:.:f ';.:.:.:.:.l::::::::r'′ r'::::::lヽ// '´/' Vヽ ',:.:.:.:lー- ' l::::::メ /:;'! ヾl、',:.:.:.! ` ´ /::/ AAの法則を解析すればできるはず ';ハ:.:ト,、 - ノ;.:.;' >:〈/丶、 _ -v' ´V l:,' / ヾ、 _ヽヽ、 l;' イヽ ヽ'´ `', `l:ヽ、 l:.:.ヽ\ _ヽ___', リr ´_二ュ _ ,':.:.:.:.:ヽ .Y´,........---..ミ二y::´::::::::::::::;' ,':.:.:.:.:.:.:.〉Y::::::::::::::::::::::;':::::::;'::::::::::::r 、' /:.:.:.:.:.:.:.l:.;'-、::::::::::::::::::;'::::::;':::::::::::::/ 7 /:.:.:.:.:.:/Y 〈::::::::::::::::::;'::::::;'::::::::::::ヽ.._ノ! l:.:.r:.:.:.:.:.:.:.l f:::::::::::::::::;'::::::;':::::::::::::::::;':.:.:.!
  12. 12. スペースが スペースが多い ┌─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─ ─┐ ┌ ___ <- 10 │ / \ <- 13 │ /ノ \ u. \ <- 11 │ / (●) (●) \ <- 11 │ | (__人__) u. | どうやるんだお? <- 13 <br>区切り │ br>区切り \ u.` ⌒´ / <- 13 │ ノ \ <- 19 │ /´ ヽ <- 16 │| l \ <- 18 │ヽ -一''''''quot;~~``'ー--、 -一'''''''ー-、. <- 9 │ ヽ ____(⌒)(⌒)⌒) ) (⌒_(⌒)⌒)⌒)) <- 5 └
  13. 13. sub maybe_aa { my $buf = shift; return unless $buf; $buf =~ s/<.*?>//g; return unless $buf; # force delimit return - 1 if $buf =~ /ID:[a-zA-Z0-9]/; my @char = $buf =~ /$euc_reg/g; return unless @char; my @symbol; my @space = $buf =~ /$space_reg/g; if (scalar @space / scalar @char > 0.23) { return 1; } elsif (scalar @space / scalar @char > 0.18) { @symbol = $buf =~ /$symbol_reg/g; return 1 if scalar @char > 30 && scalar @symbol / scalar @char > 0.3; } @symbol = $buf =~ /$symbol_reg/g unless @symbol; return 1 if scalar @char > 30 && scalar @symbol / scalar @char > 0.7; return; }
  14. 14. /) ///) /,.=゙‘’“/ / i f ,.r=‘”-‐'つ____ 細けぇことはいいんだよ!! / / _,.-‐'~/⌒ ⌒\ / ,i ,二ニ⊃( ●). (●)\ / ノ il゙フ::::::⌒(__人__)⌒::::: \ ,イ「ト、 ,!,!| |r┬-| | / iトヾヽ_/ィquot;\ `ー'´ /
  15. 15. ____ / \ /─ ─\ / (●) (●) \ | (__人__) | そんな訳で完成したのが、 \ ` ⌒´ / HTML::AAFindです。 ,,.....イ.ヽヽ、___ ーーノ゙-、. : | '; \_____ ノ.| ヽ i | \/゙(__)\,| i | > ヽ. ハ | ||
  16. 16. SYNOPSIS use HTML::AAFind; my $finder = HTML::AAFind->new(sub { my $aa = shift; return sprintf(‘<font color=“#FF0000”>%s</font>’, $aa); }); my $new_html = $finder->find($html);
  17. 17. 抽出したAAを画像に変換 / ̄ ̄\ / ヽ_ .\ ( ●)( ●) | ____ (__人__) | / \ l` ⌒´ | /─ ─\ .{ |/ (●) ( ●) \ { /| (__人__) | ,-、 ヽ ノ、\ ` ⌒´ ,/_ / ノ/ ̄/ ` ー ─ '/>< ` ー─ ' ┌、 ヽ ヽ, / L_  ̄/ _l__( { r-、 .ト _,,二) /・ ・ 〔― ‐} Ll | l) ) >_,フ / }二 コ\ Li‐' __,,,i‐ノ l × └―イ ヽ | l i ヽl また改めて
  18. 18. REPOSITORY CodeRepos: lang/perl/HTML-AAFind
  19. 19. _ -───- _ , '´ `ヽ / / \ / __, ィ_,-ァ__,, ,,、 , 、,,__ -ァ-=彡ヘ ヽ ヽ '「 ´ {ハi′ }l || || |! || |│ 〈! | |/ノ二__‐──ァ ヽニニ二二二ヾ } ,'⌒ヽ やら・・・ /⌒!| =彳o。ト ̄ヽ '´ !o_シ`ヾ | i/ ヽ ! ! ハ!| ー─ ' i ! `' '' quot; ||ヽ l | ご清聴ありがとうがとう | | /ヽ! | |ヽ i ! ございました。 ヽ{ | ! |ノ / ヽ| _ ,、 ! ,′ \! '-゙ ‐ ゙ / レ' /| `! |\ ,′! ヽ ゙  ̄  ̄` |\ | ー ─‐ _ -‐┤ ゙、 \ / ! l |`ーr─- _ / _ -‐ 'quot; / | ゙、 ヽ ____ '´ '│ ! | ゙''‐- 、,_
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×