Вход Регистрация
Файл: Dvig/tst.php
Строк: 98
<?php 

     
//simple task: convert everything from utf-8 into an NCR[numeric character reference] 
     
class unicode_replace_entities 
         public function 
UTF8entities($content="") { 
             
$contents $this->unicode_string_to_array($content); 
             
$swap ""
             
$iCount count($contents); 
             for (
$o=0;$o<$iCount;$o++) { 
                 
$contents[$o] = $this->unicode_entity_replace($contents[$o]); 
                 
$swap .= $contents[$o]; 
             } 
             return 
mb_convert_encoding($swap,"UTF-8"); //not really necessary, but why not. 
         


         public function 
unicode_string_to_array$string ) { //adjwilli 
             
$strlen mb_strlen($string); 
             while (
$strlen) { 
                 
$array[] = mb_substr$string01"UTF-8" ); 
                 
$string mb_substr$string1$strlen"UTF-8" ); 
                 
$strlen mb_strlen$string ); 
             } 
             return 
$array
         } 

         public function 
unicode_entity_replace($c) { //m. perez 
             
$h ord($c{0});    
             if (
$h <= 0x7F) { 
                 return 
$c
             } else if (
$h 0xC2) { 
                 return 
$c
             } 
             
             if (
$h <= 0xDF) { 
                 
$h = ($h 0x1F) << | (ord($c{1}) & 0x3F); 
                 
$h "&#" $h ";"
                 return 
$h
             } else if (
$h <= 0xEF) { 
                 
$h = ($h 0x0F) << 12 | (ord($c{1}) & 0x3F) << | (ord($c{2}) & 0x3F); 
                 
$h "&#" $h ";"
                 return 
$h
             } else if (
$h <= 0xF4) { 
                 
$h = ($h 0x0F) << 18 | (ord($c{1}) & 0x3F) << 12 | (ord($c{2}) & 0x3F) << | (ord($c{3}) & 0x3F); 
                 
$h "&#" $h ";"
                 return 
$h
             } 
         } 
     }
// 
     
     //utf-8 environment    
     
$content "<strong>дизайн<br />";

     
$oUnicodeReplace = new unicode_replace_entities(); 
     
$content $oUnicodeReplace->UTF8entities($content); 
     echo 
"<br />Result:<br />"
     echo 
$content
     
$source htmlentities($content); 
     echo 
"<br />htmlentities of resulting data:<br />"
     echo 
$source

     echo 
"<br /><br />Note: Entities get replaced with 'literals' in textarea FF3<br /><br />"
     echo 
"<textarea style='width:300px;height:150px;'>"
     echo 
$content
     echo 
"</textarea>"
     
     echo 
"<br /><br />For editing NCR's rather than 'literals' in a textarea<br /><br />"
     echo 
"<textarea style='width:300px;height:150px;'>"
     echo 
preg_replace("/(&#)+/","&amp;#",$content);  
     echo 
"</textarea>"

 
?>
Онлайн: 3
Реклама