dizelerini kırpar bir php fonksiyonu optimize

0 Cevap php

i herhangi bir metin / html dizesi alır ve düzeltir, bu php fonksiyonu programlanmış.

For example:

gen_string("Hello, how are you today?",10);

Returns: Hello, how...

Fonksiyon dize sınırı gibi özel bir karakter pozisyonu olarak aynı olduğunda ortaya çıkmaktadır: A, n, vs ..

In which case:

gen_string("Helló my friend",5);

İade: Hell�...

Herhangi bir bu sorunu çözmek için nasıl bir fikir? Bu akım fonksiyonu:

# string: advanced substr
function gen_string($string,$min,$clean=false) {
 $text = trim(strip_tags($string));
 if(strlen($text)>$min) {
  $blank = strpos($text,' ');
  if($blank) {
   # limit plus last word
   $extra = strpos(substr($text,$min),' ');
   $max = $min+$extra;
   $r = substr($text,0,$max);
   if(strlen($text)>=$max && !$clean) $r=trim($r,'.').'...';
  } else {
   # if there are no spaces
   $r = substr($text,0,$min).'...';
  }
 } else {
  # if original length is lower than limit
  $r = $text;
 }
 return trim($r);
}

Teşekkürler!

0 Cevap