Sākumlapa › Forumi › Mājas lapu izstrāde › Web veidošana un problēmas › speciālo simbolu attēlošana izmantojot substr un mb_subst
define(‘ENABLE_UTF8_NOMB’,true);
define(‘ENABLE_UTF8_MB’,false);
function _mb_strlen($s) {
if(ENABLE_UTF8_MB) {
return mb_strlen($s);
}
if(ENABLE_UTF8_NOMB) {
return strlen(utf8_decode($s));
}
return strlen($s);
}
function _mb_substr($s,$b,$l=NULL) {
/* UTF8 ready */
if(ENABLE_UTF8_MB) {
return is_null($l) ? mb_substr($s,$b) : mb_substr($s,$b,$l);
}
/* UTF8 ready */
if(ENABLE_UTF8_NOMB) {
if($b <0 ) {
$b = _mb_strlen($s) + (int) $b;
}
if( is_null($l) || _mb_strlen($s)<($l+$b)) {
$l = ‘*’;
} else {
if($l <0 )
$l = _mb_strlen($s) + (int) $l;
$l = ‘{0,’.preg_quote($l).’}’;
}
preg_match(‘/^.{‘.preg_quote($b).’}(.’.$l.’)/us’, $s, $m);
return ( isset($m[1]) ) ? $m[1] : false;
}
return ( is_null($l) ) ? substr($s,$b) : substr($s,$b,$l);
}
un lietošanas piemērs:
$mainigais = _mb_substr($mainigais, 0, 70);
baigi vienkārši: mb_internal_encoding(“utf8”);
+10
Tādejādi vārdi netiek aprauti pusē, un, ja teksts ir garāks par limitu, var pielikt galā daudzpunkti vai kādu citu simbolu, kā arī nav jāuztraucās par speciālajiem simboliem, nenoslēgtiem tagiem u.tml.
Preses relīzes