Twitter::Text - Perl implementation of the twitter-text parsing library
use Twitter::Text; $result = parse_tweet('Hello world こんにちは世界'); print $result->{valid} ? 'valid tweet' : 'invalid tweet';
Twitter::Text is a Perl implementation of the twitter-text parsing library.
This library does not implement auto-linking and hit highlighting.
Please refer Implementation status for latest status.
All functions below are exported by default.
my \@hashtags = extract_hashtags($text);
my \@hashtags_with_indices = extract_hashtags_with_indices($text, [\%options]);
my \@screen_names = extract_mentioned_screen_names($text);
my \@screen_names_with_indices = extract_mentioned_screen_names_with_indices($text);
my \@mentions_or_lists_with_indices = extract_mentions_or_lists_with_indices($text);
my \@urls = extract_urls($text);
my \@urls = extract_urls_with_indices($text, [\%options]);
my \%parse_result = parse_tweet($text, [\%options]);
The parse_tweet function takes a $text string and optional \%options parameter and returns a hash reference with following values:
parse_tweet
$text
\%options
weighted_length
The overall length of the tweet with code points weighted per the ranges defined in the configuration file.
permillage
Indicates the proportion (per thousand) of the weighted length in comparison to the max weighted length. A value > 1000 indicates input text that is longer than the allowable maximum.
valid
Indicates if input text length corresponds to a valid result.
display_range_start
display_range_end
An array of two unicode code point indices identifying the inclusive start and exclusive end of the displayable content of the Tweet.
valid_range_start
valid_range_end
An array of two unicode code point indices identifying the inclusive start and exclusive end of the valid content of the Tweet.
use Data::Dumper; use Twitter::Text; $result = parse_tweet('Hello world こんにちは世界'); print Dumper($result); # $VAR1 = { # 'weighted_length' => 33 # 'permillage' => 117, # 'valid' => 1, # 'display_range_start' => 0, # 'display_range_end' => 32, # 'valid_range_start' => 0, # 'valid_range_end' => 32, # };
my $valid = is_valid_hashtag($hashtag);
my $valid = is_valid_list($username_list);
my $valid = is_valid_url($url, [unicode_domains => 1, require_protocol => 1]);
my $valid = is_valid_username($username);
twitter-text. Implementation of Twitter::Text (this library) is heavily based on Ruby implementation of twitter-text.
https://developer.twitter.com/en/docs/counting-characters
Copyright (C) Twitter, Inc and other contributors
Copyright (C) utgwkk.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
utgwkk <utagawakiki@gmail.com>
To install Twitter::Text, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Twitter::Text
CPAN shell
perl -MCPAN -e shell install Twitter::Text
For more information on module installation, please visit the detailed CPAN module installation guide.