ribbo****@users*****
ribbo****@users*****
2008年 9月 16日 (火) 17:12:26 JST
Index: docs/modules/HTML-Entities-3.55/Entities.pod diff -u /dev/null docs/modules/HTML-Entities-3.55/Entities.pod:1.1 --- /dev/null Tue Sep 16 17:12:26 2008 +++ docs/modules/HTML-Entities-3.55/Entities.pod Tue Sep 16 17:12:26 2008 @@ -0,0 +1,129 @@ +=head1 åå‰ + +HTML::Entities - HTMLエンティティ(実体å‚ç…§)æ–‡å—列をエンコード/デコードã™ã‚‹ + +=head1 æ¦‚è¦ + + use HTML::Entities; + + $a = "Våre norske tegn bør æres"; + decode_entities($a); + encode_entities($a, "\200-\377"); + +以下ã¯ä¾‹ã§ã‚ã‚‹: + + $input = "vis-à -vis Beyoncé's naïve\npapier-mâché résumé"; + print encode_entities($input), "\n" + +çµæžœã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚‹: + + vis-à-vis Beyoncé's naïve + papier-mâché résumé + +=head1 説明 + +ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€HTMLæ–‡å—エンティティ(実体å‚ç…§)ã®ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã¨ãƒ‡ã‚³ãƒ¼ãƒ‰ +ã‚’å–り扱ã†ã€‚ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ä»¥ä¸‹ã®æ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹: + +=over 4 + +=item decode_entities( $string, ... ) + +ã“ã®ãƒ«ãƒ¼ãƒãƒ³ã¯å¯¾å¿œã™ã‚‹ãƒ¦ãƒ‹ã‚³ãƒ¼ãƒ‰æ–‡å—ã‚’å«ã‚€ $string ä¸ã®HTMLエンティティ +ã‚’ç½®ãæ›ãˆã‚‹ã€‚perl 5.6 ã¨ãれ以å‰ã§ã¯ã€Latin-1ã®ç¯„囲ã®æ–‡å—ã®ã¿ãŒç½®ãæ›ãˆ +られる。èªè˜ã§ããªã„エンティティã¯ãã®ã¾ã¾æ®‹ã‚‹ã€‚ + +ã‚‚ã—ã‚‚ã€å¼•æ•°ã¨ã—ã¦è¤‡æ•°ã®æ–‡å—列ãŒæä¾›ã•ã‚ŒãŸå ´åˆã€ãれらã¯å€‹åˆ¥ã«ãƒ‡ã‚³ãƒ¼ãƒ‰ +ã•ã‚Œã€åŒã˜æ•°ã®æ–‡å—列ãŒè¿”る。 + +ã‚‚ã—ã‚‚ã€voidコンテã‚ストãŒå‘¼ã°ã‚ŒãŸå ´åˆã€å¼•æ•°ã¯ãã®å ´ã§ãƒ‡ã‚³ãƒ¼ãƒ‰ã•ã‚Œã‚‹ã€‚ + +ã“ã®ãƒ«ãƒ¼ãƒãƒ³ã¯è¦å®šå€¤ã§ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•ã‚Œã‚‹ã€‚ + +=item _decode_entities( $string, \%entity2char ) + +=item _decode_entities( $string, \%entity2char, $expand_prefix ) + +ã“ã‚Œã¯ã€$stringä¸ã®HTMLエンティティをãã®å ´ã§ç½®ãæ›ãˆã‚‹ã€‚%entiti2char +ãƒãƒƒã‚·ãƒ¥ãŒæä¾›ã•ã‚Œãªã‘ã‚Œã°ãªã‚‰ãªã„。%entity2charä¸ã«è¦‹ã¤ã‹ã‚‰ãªã„ã€åå‰ +ãŒä»˜ã„ãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¯ãã®ã¾ã¾æ®‹ã‚‹ã€‚æ•°å—ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¯ãã®å€¤ãŒã‚ªãƒ¼ãƒ +フãƒãƒ¼ã™ã‚‹ã¾ã§æ‹¡å¼µã•ã‚Œã‚‹ã€‚ + +%entity2charä¸ã®ã‚ーã¯æ‹¡å¼µã•ã‚Œã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£åã§ã€ãã®å€¤ã¯æ‹¡å¼µã•ã‚Œã‚‹ã¹ã +ã‚‚ã®ã§ã‚る。ãã®å€¤ã¯å˜ä¸€æ–‡å—ã®ã®æ–‡å—列ã§ã‚ã£ã¦ã¯ãªã‚‰ãªã„。もã—ã‚‚ã‚ー㌠+サフィックスã¨ã—ã¦";"ã‚’æŒã£ã¦ã„ã‚‹ãªã‚‰ã°ã€$stringä¸ã«è¦‹ã¤ã‹ã‚‹ã‚‚ã®ã¯ã€ +ã‚‚ã—ã‚‚é©åˆ‡ã«";"ã§çµ‚了ã—ã¦ã„ã‚‹ãªã‚‰ã°ã€ãã‚Œã®ã¿æ‹¡å¼µã•ã‚Œã‚‹ã€‚";"ã‚’æŒãŸãªã„ +エンティティã¯ã€å…±é€šã®ãƒ–ラウザãŒã€Latin-1ã®ç¯„囲ä¸ã§ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’å–り扱ㆠ+コンパãƒãƒ“リティã®ãŸã‚ã«ã©ã®ã‚ˆã†ã«çµ‚了ã—ãŸã¨ã—ã¦ã„ã¦ã‚‚ã€æ‹¡å¼µã•ã‚Œã‚‹ã€‚ + +ã‚‚ã—ã‚‚ã€$expand_prefix ㌠TRUE ã§ã‚ã‚Œã°ã€%entity2charä¸ã®ã€æœ«å°¾ã®";"ãªã—ã® +エンティティã¯ã‚ˆã‚Šé•·ã„èªè˜ã•ã‚Œãªã„åå‰ã®ãƒ—レフィックスã¨ã—ã¦ã€æ‹¡å¼µã•ã‚Œã‚‹ã€‚ +%entity2charä¸ã®ã€ã‚‚ã£ã¨ã‚‚é•·ã„一致ã—ãŸåå‰ãŒä½¿ã‚れる。ã“ã‚Œã¯ã€ä¸»ã«ã€MSIE +ã®é–“é•ã£ãŸæ©Ÿèƒ½ã«å¯¾ã™ã‚‹äº’æ›ã®ãŸã‚ã«æä¾›ã•ã‚Œã¦ã„る。 + + $string = "foo bar"; + _decode_entities($string, { nb => "@", nbsp => "\xA0" }, 1); + print $string; # will print "foo bar" + +ã“ã®ãƒ«ãƒ¼ãƒãƒ³ã¯è¦å®šå€¤ã§ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•ã‚Œã‚‹ã€‚ + +=item encode_entities( $string ) + +=item encode_entities( $string, $unsafe_chars ) + +ã“ã®ãƒ«ãƒ¼ãƒãƒ³ã¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®è¡¨ç¾ã¨å…±ã« $stringä¸ã®å®‰å…¨ã§ãªã„æ–‡å—ã‚’ +ç½®ãæ›ãˆã‚‹ã€‚2番目ã®å¼•æ•°ã¯ã€ã©ã®æ–‡å—ãŒå®‰å…¨ã§ãªã„ã¨è€ƒãˆã‚‰ã‚Œã‚‹ã‹ã‚’æä¾›ã™ã‚‹ +ã“ã¨ãŒå‡ºæ¥ã‚‹(ãŸã¨ãˆã°ã€ã©ã‚Œã‚’エスケープã™ã‚‹ã‹)。エンコードã•ã‚Œã‚‹è¦å®šå€¤ +ã®æ–‡å—セットã¯ã€ã‚³ãƒ³ãƒˆãƒãƒ¼ãƒ«æ–‡å—ã€8ビット目ãŒè¨å®šã•ã‚Œã¦ã„ã‚‹æ–‡å—㨠+C<< < >>, C<< & >>, C<< > >>, C<< ' >> 㨠C<< " >> ã§ã‚る。ã—ã‹ã—〠+ã“ã‚Œã¯ã€ä¾‹ã‚’ã‚ã’ã‚‹ã¨ã€C<< < >>, C<< & >>, C<< > >>, C<< ' >> 㨠C<< " >> +ã¯ä»¥ä¸‹ã®ã‚ˆã†ãªå½¢ã§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã§ãる。 + + $encoded = encode_entities($input, '<>&"'); + +ã“ã®ãƒ«ãƒ¼ãƒãƒ³ã¯è¦å®šå€¤ã§ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã•ã‚Œã‚‹ã€‚ + +=item encode_entities_numeric( $string ) + +=item encode_entities_numeric( $string, $unsafe_chars ) + +ã“ã®ãƒ«ãƒ¼ãƒãƒ³ã¯ã€encode_entitiesã¨åŒã˜ã‚ˆã†ã«å‹•ä½œã™ã‚‹ãŒã€ç½®æ›ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ +ã¯å¸¸æ™‚C<&#xI<hexnum>;>ã¨ãªã‚Šã€æ±ºã—ã¦C<&I<entname>;>ã«ãªã‚‰ãªã„ã¨ã“ã‚㌠+é•ã†ã€‚例をã‚ã’ã‚‹ã¨ã€ C<encode_entities("r\xF4le")> 㯠"rôle" ã‚’ +è¿”ã™ãŒã€C<encode_entities_numeric("r\xF4le")>ã¯"rôle"ã‚’è¿”ã™ã€‚ + +ã“ã®ãƒ«ãƒ¼ãƒãƒ³ã¯è¦å®šå€¤ã§ã¯ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆI<ã•ã‚Œãªã„>。ã—ã‹ã—〠+ C<use HTML::Entities qw(encode_entities_numeric);>ã‹ã€ +C<use HTML::Entities qw(:DEFAULT encode_entities_numeric);> +ã§å¸¸ã«ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ã€‚ + +=back + +上記ã®ã™ã¹ã¦ã®ãƒ«ãƒ¼ãƒãƒ³ã¯ã€ã‚‚ã—ã‚‚ã€void コンテã‚ストã¨ã—ã¦å‘¼ã°ã‚ŒãŸå ´åˆã€ +最åˆã®å¼•æ•°ã¨ã—ã¦æ¸¡ã•ã‚ŒãŸæ–‡å—列を変更ã™ã‚‹ã€‚スカラーã¾ãŸã¯é…列コンテã‚スト +ä¸ã§ã¯ã€ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã¾ãŸã¯ãƒ‡ã‚³ãƒ¼ãƒ‰ã•ã‚ŒãŸæ–‡å—列ãŒæˆ»ã‚‹(入力文å—列ã®å¤‰æ›´ +ãªã—ã«)。 + +ã‚‚ã—ã‚‚ã€åå‰ç©ºé–“ã«ãれらã®ãƒ«ãƒ¼ãƒãƒ³ã‚’インãƒãƒ¼ãƒˆã—ãŸããªã„ã®ã§ã‚ã‚Œã°ã€ +ãれらを以下ã®ã‚ˆã†ã«å‘¼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã‚‹: + + use HTML::Entities (); + $decoded = HTML::Entities::decode($a); + $encoded = HTML::Entities::encode($a); + $encoded = HTML::Entities::encode_numeric($a); + + +ã“れらã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã¯ã€å¯¾å¿œã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£(ã¨é€†ã‚‚ã¾ãŸåŒæ§˜)ã®ãŸã‚ã® +ã™ã¹ã¦ã®æ–‡å—列ã‹ã‚‰ã®ãƒžãƒƒãƒ”ングをå«ã‚€ $char2entityã¨%entity2charãƒãƒƒã‚·ãƒ¥ +をもエクスãƒãƒ¼ãƒˆã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹ã€‚ + +=head1 COPYRIGHT + +Copyright 1995-2006 Gisle Aas. All rights reserved. + +This library is free software; you can redistribute it and/or +modify it under the same terms as Perl itself. + + +=cut +