Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- sub _html_decode {
- my $self = shift;
- my $ref = shift;
- if (ref($ref) eq "HASH") {
- $self->_html_decode_hash($ref)
- }
- if (ref($ref) eq "ARRAY") {
- $self->_html_decode_array($ref);
- }
- }
- sub _html_decode_array {
- my $self = shift;
- my $ref = shift;
- unless (@$ref) {return;}
- foreach (0 .. (scalar(@$ref) - 1)) {
- if (ref($ref->[$_]) eq "HASH") {
- $self->_html_decode_hash($ref->[$_]);
- }
- if (ref($ref->[$_]) eq "ARRAY") {
- $self->_html_decode_array($ref->[$_]);
- }
- else {
- $ref->[$_] = decode_entities($ref->[$_]);
- }
- }
- }
- sub _html_decode_hash {
- my $self = shift;
- my $ref = shift;
- unless (%$ref) {return;}
- while (my ($k, $v) = each %$ref) {
- if (ref($v) eq "HASH") {
- $self->_html_decode_hash($v);
- }
- if (ref($v) eq "ARRAY") {
- $self->_html_decode_array($v)
- }
- else {
- $ref->{$k} = decode_entities($v);
- }
- }
- }
- sub _html_decode {
- my ($self, $ref) = @_;
- if (ref($ref) eq "HASH") {
- for my $value (values %{$ref}) {
- $self->_html_decode($value);
- }
- }
- elsif (ref($ref) eq "ARRAY") {
- for my $value (@{$ref}) {
- $self->_html_decode($value);
- }
- }
- else {
- $_[1] = decode_entities($_[1]);
- }
- }
Add Comment
Please, Sign In to add comment