File manager - Edit - /usr/local/cpanel/3rdparty/perl/542/cpanel-lib/Locale/Maketext/Utils/Phrase/Norm/Ampersand.pm
Back
package Locale::Maketext::Utils::Phrase::Norm::Ampersand; use strict; use warnings; sub normalize_maketext_string { my ($filter) = @_; my $string_sr = $filter->get_string_sr(); if ( ${$string_sr} =~ s{\[output,chr,(?:\&|38)\]}{[output,amp]}g ) { $filter->add_violation('Prefer [output,amp] over [output,chr,&] or [output,chr,38].'); } if ( ${$string_sr} =~ s{chr\(&\)}{chr\(38\)}g ) { $filter->add_violation('Prefer chr(38) over chr(&).'); } if ( ${$string_sr} =~ s{&}{[output,amp]}g ) { $filter->add_violation('Ampersands need done via [output,amp].'); } my $aft = ${$string_sr} =~ s/\[output,amp\]([^ ])/[output,amp] $1/g; my $bef = ${$string_sr} =~ s/([^ ])\[output,amp\]/$1 [output,amp]/g; if ( $bef || $aft ) { $filter->add_violation('Ampersand should have one space before and/or after unless it is embedded in an asis().'); } return $filter->return_value; } 1; __END__ =encoding utf-8 =head1 Normalization Do not use a raw ampersand even in output,chr. If used as text it needs to have a spaces around it. =head2 Rationale Same rationale as the L<Markup|Locale::Maketext::Utils::Phrase::Norm::Markup/Rationale>. Since & is a markup character it must be done via output() in order to be safe in all contexts. If it is used as a word it should have a space on each side of it for clarity. =head1 IF YOU USE THIS FILTER ALSO USE … … THIS FILTER L<Locale::Maketext::Utils::Phrase::Norm::Markup>. This is not enforced anywhere since we want to assume the coder knows what they are doing. =head1 possible violations =over 4 =item Prefer [output,amp] over [output,chr,&] or [output,chr,38]. Problem should be self explanatory. The former gets replaced with the latter. =item Prefer chr(38) over chr(&). Problem should be self explanatory. The former gets replaced with the latter. =item Ampersands need done via [output,amp]. Problem should be self explanatory. The former gets replaced with the latter. =item Ampersand should have one space before and/or after unless it is embedded in an asis(). Problem should be self explanatory. Spaces get added as needed. =back =head1 possible warnings None
| ver. 1.4 |
Github
|
.
| PHP 8.1.34 | Generation time: 0.05 |
proxy
|
phpinfo
|
Settings