Jump to content
php.lv forumi

stringa īsināšana..


maxi

Recommended Posts

Prasiiju irc kanaalaa, bet shaavaitaa es prieksh sevis saprotoshu atbildi nesanjeemu.

 

Taatad, ir strings, piemeeram, komentārs, kuru atstaaj lietotaajs.

 

Nepiecieshams izveidot taa, lai katrs vaards shajaa stringaa (atstaatajaa komentaaraa, shajaa gadiijumaa) nepaarsniegtu 20 simbolu garumu. Ja tas paarsniedz limitu - vaardam tiek norautas beigas (viss, kas atrodas aiz 20-taa simbola). Ar to taakaa probleemas nebuutu.. substr($str, 0, 20); un aidaa.

Tagad man nepiecieshams uztaisiit taa, lai netiktu norautas beigas vaardiem, kuri saakas ar "http://". Ja lietotaajs atstaas http:// adresi, kas paarsniegs 20 simb garumu, tas automaatiski tiks saiisinaats un reaali links nedarbosies pie komentaaru lista..

 

 

kaadas idejas?

esmu nomociijies, bet pie sakariiga rezultaata neesmu nonaacis :/

Link to comment
Share on other sites

$vardi = explode(' ', $texts);
foreach($vardi as $key => $data) {
  if (substr($data, 0, 7) != 'http://') {
    $vardi[$key] = substr($data, 0, 20);
  }
}
$texts = implode(' ', $vardi);

Edited by bubu
Link to comment
Share on other sites

BigUgga savulaik bija radījis ko labāku par bubu piedāvāto variantu:

 

<?
 define(MAX_LEN, 10);
 function check_len($text) {
   $patt=array("/([^ ]{".MAX_LEN.",})/e", "/[\s\t]{".MAX_LEN.",}/");
   $repl=array("substr('$1', 0, MAX_LEN).'...'", " ");
   return preg_replace($patt, $repl, $text);
 }
?>

oriģināls : te

 

btw. jautājums: kā uztaisīt lai visi linki attēlotos pareizi kā linki (print out links saīsināts, bet pati saite darbotos normāli) ? :)

Link to comment
Share on other sites

×
×
  • Create New...