Problema afisare cuvant foarte lung

Discutii despre script-uri si coduri PHP-MySQL, precum si lucru cu XML in PHP.
Avatar utilizator
evident
Mesaje:168

Problema afisare cuvant foarte lung

Salut,
La mine pe site am o sectiune despre useri unde fiecare user isi pune cate ceva despre el si care este stocata intr-o baza de date.Cand afisez din baza de date e o problema.Daca userul are pus la despre el o descriere de genu: fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff...
imi face afisarea fara sa mai treaca pe randul urmator, adica se duce in dreapta pana se termina toata descrierea.O idee mi-ar fi de mare ajutor.
Multumesc

MarPlo Mesaje:4343
Salut
Poti folosi functia cleanLongWords() din acest exemplu. Curata textul astfel incat permite doar 3 repetari ale unui caracter in cuvant (initial nu afecteaza numere), iar cuvantul, daca are mai mult de 23 caractere il imparte cu spatiu.

Cod: Selectaţi tot

function cleanLongWords($text, $nrchr=3, $maxword=23) {
// function to clean text with multiple consecutive characters and very long words ( https://coursesweb.net/ )
// $nrchr = allowed number of consecutive character
// $maxword = maximum word length
  $paterns = array();
  $chr = array('q','w','e','r','t','y','u','i','o','p','a','s','d','f','g','h','j','k','l',';','z','x','c','v','b','n','m',',','!','@','#','%','&','_','=',':','"','`','~',';','â','á','é','í','ó','ú','ý','ø','č','ć','đ','š','ž','ā','ä','ǟ','ḑ','ē','ī','ļ','ņ','ō','ȯ','ȱ','õ','ȭ','ŗ','š','ț','ū','ž','ş','î','ă',"'",'$','\^','\*','\(','\)','\{','\}','\|','\?','\.','\[','\]','\/','\\\\','\>','\<');

  // uncomment next line if you want to clean consecutive numbers too
///   $chr = array_merge($chr, array('1','2','3','4','5','6','7','8','9','0'));
  $n_chr = count($chr);
  for($i=0; $i<$n_chr; $i++) {$paterns[$i] = '/(['. $chr[$i] .']{'. $nrchr .',}){2,}/i'; }
  $text = preg_replace($paterns, '$1', $text);

  // if $maxword > 0, split the word to specified number of characters
  return ($maxword > 0) ? wordwrap($text, $maxword, ' ', true) : $text;
}

$text = '\\\\\\\\\\\\\\  A very looooooonnnnnnnngggggg ttttttttttttteeeeeeeeeeexxxxxxxxxtttttttttt woooooooooooooooooord [[[[[[]]]]]]] ////////......';
echo cleanLongWords($text);       // \\\ A very looonnnggg ttteeexxxttt wooord [[[]]] ///...
 

Subiecte similare