Autor Zpráva
nica
Profil *
ahoj ludkovia som tu v poslednej dobe asi často (len ma nevypískajte)
takže založím jedno téma z dvomy otázkami ok?

takže prvý problém mám z výpisom da sklo z uživatelského z uživatelského fóra
problém je v tom že pokial "ideálny" retazec obsahuje medzery je všetko ok css si to sformátuje
a je to
problém nastáva ak uživatel pošle nieaký retazec dlhší ako X bez medzery (v praxi odkaz alebo blbost)
na 'polámanie' retazca som použila chunk_split ale ten sa nechová moc korektne voči slovám a zároven
oproti najvedšiemu písmenu tj. asi velké O je retazec 'normálneho' charakteru asi o polovicu menší ...
máte na to nieaké riešenie ? ak by som sa aj pohrala z regulárnym výrazom na štýl nájdi dlľžku slova nájdi medzeru a cyklom kontrolovala slovo po slove ok ale to bude asi dost pomalé riešenie.

Druhý problém je zo česko-slovenskými :) znakmi v SQL ,viem že sa to tu niekde rozoberalo ,link prosím
Alphard
Profil
1. wordwrap()
2. set names http://molhanec.net/mysql_cestina_minifaq.html
nica
Profil *
wordwrap uplne kašle na mna chová sa rovnako ako chunk_split akorát je korektnejší voči slovám
myslím že toto budem musiet riešit vlastnou funkciou ale ako na to?
nebude ten cyklus moc pomalý?? nemáte na to niekto vlastnú function?? :)
Alphard
Profil
jo, nedomyslel jsem to :-)
vytvořenou fci nemám, ale napadá mě teď jedna s použitím cyklu a pole
pro kratší texty by neměl být problém, pro delší nevím, text je 3x kopírován, takže to nějakou pamět žrát bude
<?php
function wrap_long_words ($text, $znak, $delka)
{  $slova = explode (" ", $text);
   $slova2 = array ();
   foreach ($slova as $line)
     if (strlen ($line) > $delka)
       $slova2[] = wordwrap($line, $delka, $znak, 1);
      else
       $slova2[] = $line;
   return implode (" ", $slova2);  }

$text = "...";
$newtext = wrap_long_words ($text, " ", 10);

echo $newtext;
?>
nica
Profil *
hmm.. a sakra na toto som mala príst sama :))
mockrát dík je to dobré a stačí mi to


dík

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0