Difference between revisions of "UpperToLowerR.t"
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
Characters of other languages are not converted. |
Characters of other languages are not converted. |
||
− | [[UpperToLowerR.t]] конвертирует только русские буквы, да и то лишь |
+ | [[UpperToLowerR.t]] конвертирует только русские буквы, да и то лишь тогда, когда они представлены в кодировке [[Utf8]] (see [[SomeU]]). |
<br> |
<br> |
||
− | Латинские буквы, как буквы иных алфавитов (Греческие, Китайские, корейские и т.п.), а также всевозможные [[пьяный ёжик|пьяные ёжики]] при этом столь же неконвертируемы, советские рубли во время СССР: доллар стоил не 60 копеек, как [[враньё|врала]] советская [[пропаганда]], а тюремного заключения или даже жизни. |
+ | Латинские буквы, как буквы иных алфавитов (Греческие, Китайские, корейские и т.п.), а также всевозможные [[пьяный ёжик|пьяные ёжики]] при этом столь же неконвертируемы, как советские рубли во время СССР: доллар стоил не 60 копеек, как [[враньё|врала]] советская [[пропаганда]], а тюремного заключения или даже жизни. |
==Code== |
==Code== |
||
Routines [[uni.t]] should be loaded in order to php the code below: |
Routines [[uni.t]] should be loaded in order to php the code below: |
Latest revision as of 19:59, 17 April 2022
UpperToLowerR.t is PHP routine that converts capital Russian caharacters to the lower case, except the first letter of each word.
Characters of other languages are not converted.
UpperToLowerR.t конвертирует только русские буквы, да и то лишь тогда, когда они представлены в кодировке Utf8 (see SomeU).
Латинские буквы, как буквы иных алфавитов (Греческие, Китайские, корейские и т.п.), а также всевозможные пьяные ёжики при этом столь же неконвертируемы, как советские рубли во время СССР: доллар стоил не 60 копеек, как врала советская пропаганда, а тюремного заключения или даже жизни.
Code
Routines uni.t should be loaded in order to php the code below:
<?php include "uni.t"; $a=file_get_contents('input.txt'); $b=mb_str_split($a); $N=count($b); #echo $N, "\n"; for($i=0; $i<$N; $i++){$c[$i]=uniord($b[$i]);} for($i=1; $i<$N; $i++) { $A=$c[$i-1]; $B=$c[$i]; if( $A>= hexdec("400") && $A< hexdec("460") ) { if($B>= hexdec("410") && $B< hexdec("430") ) { $c[$i]+=32; } else if($B>= hexdec("400") && $B< hexdec("410") ) { $c[$i]+=80; } } } for($i=0; $i<$N; $i++) { $D=unichr($c[$i]); echo $D; } ?>
Example of input.txt
The ENGLISH characters are not converted.
日本の カタカナ、ひたがな、 かんじ は おなじ でしょう。
РУССКИЕ СИМВОЛЫ долЖны быть приведены в соответстви с грамматикой. Чтобы если где бОльше, то НАФИГ.
Output
The ENGLISH characters are not converted.
日本の カタカナ、ひたがな、 かんじ は おなじ でしょう。
Русские Символы должны быть приведены в соответстви с грамматикой. Чтобы если где больше, то Нафиг.
Historic context
Some operational systems easy confuse the lowercase letters with the UPPERCASE LETTERS, especially if appear in filenames, and especially if the filename contains non-ascii characters. This makes difficult the automatic analysis of the texts. The stupid robots get confused, and, instead of to arrange the articles, do horrible things, especially with texts in foreign languages.
The Editor failed to program the conversion in some convenient language, like sed, as the Regular expression conversion. So, the complicated routine is suggested above.
References
Unfortunately, no analogy of this routine is found at the free-access sites.