Advertisement
kazlik

Zkracovač 1.2 bez posledního slova

Jan 13th, 2012
323
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.53 KB | None | 0 0
  1. <?php
  2.  function CheckString($regex, $str) // funkce od tbxe
  3.  
  4.     {
  5.  
  6.       if(@!ereg("^[^". $regex . "]*$", $str)) return true;
  7.  
  8.       else return false;
  9.  
  10.     }
  11.  
  12.  
  13.   $string = "Tohle je velice dlouhy text."; // String, který chcete zkrátit
  14.   $lenght = 12; // Maximální délka stringu
  15.   $disallow = ".:!? "; //Před jakým znakem to chceme ukončit
  16.   $String2 = null; //Definujeme string2
  17.   $a = 0; //nastavíme nulu
  18.   while(true){ //cyklus
  19.     $String2 .= $string[$a]; //Do nového stringu vložíme znak ze starého stringu
  20.     $a++; //zvýšíme o jedna
  21.     if($a == $lenght){ //Pokuď je $a stejně velká nebo větší než maximální délka
  22.       if(CheckString($disallow, $string[$a])){ //Zjistíme, zda po následujícím znaku má být cyklus ukončen
  23.         $String2 = explode(" ", $String2); //Rozdělíme podle mezer
  24.         $String2[sizeof($String2)-1] = null; //Místo posledního slova nastavíme prázdnou hodnotu
  25.         $String2 = implode(" ", $String2); //Spojíme podle mezer
  26.         $String2 = trim($String2); //Aby nebyla mezera na konci  
  27.         break; //Ukončíme
  28.       }else{
  29.         $String2 = explode(" ", $String2); //Rozdělíme podle mezer
  30.         $String2[sizeof($String2)-1] = null; //Místo posledního slova nastavíme prázdnou hodnotu
  31.         $String2 = implode(" ", $String2); //Spojíme podle mezer
  32.         $String2 = trim($String2); //Aby nebyla mezera na konci  
  33.         break;
  34.       }
  35.     }
  36.   }
  37.   $String2 .= "..."; //Na konec napíšeme 3 tečky...
  38.   echo $String2; //vypíšeme
  39.  
  40. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement