$pole = explode(' ', $vypis[text]);
for ($i = 0; $i < count($pole); $i++){
if(strlen($pole[$i]) >50) {
$pole[$i] = wordwrap($pole[$i], 50, " ", 1);
}
}
$vypis[text] = implode(' ', $pole);
zalamuju dlouhá slova a problém nastane, když se zalomí i třeba odkaz (href="...") uvnitř tagu.. -> takže jak zajistím, aby se to co je uvnitř tagu nezalamovalo?
předpokládám, že by to šlo udělat jako něco na způsob že by se to místo mezer rozdělilo na pole dle < a pak podle regulárního výrazu rozdělit na isTag a isNotTag (třeba druhý rozměr pole) a pak podle toho... ale nevim myšlenkově je to možná správně ale nevim co tam použít a jak =/
udělat eregem podmínku na href.... ale to jsou reguláry, od toho jdu pryč
no... to mi nepříde ideální.
na to jsem vymyslel NAPROSTO genialni fci, kdyz budete hodni a pekne poprosite, tak vam ji tady vystavim.
MF mam pocit, ze v tom, co jsem ti posilal byl adresar include, tam soubor functions.inc a tam fce htmlwordwrap(), ktera dela presne to, co potrebujes...
OK, pro ostatnii:
/ prida $separator, aby vysledny text bylo mozno zalamovat v html, vynecha tagy
* @param $str - text na rozdeleni
* @param $cols - max delka radku
* @param $separator - vlozi se za dlouhe texty
*
* @return vrati rozdeleny text (string)
*/
function htmlwordwrap($str, $cols, $separator=" ") { # {{{
$tag_open = '<';
$tag_close = '>';
$in_tag = false;
$segment_width = 0;
$ret_val = "";
for ($i=0 ; $i<strlen($str) ; $i++) {
if ($str[$i] == $tag_open) {
$in_tag = true;
} elseif ($str[$i] == $tag_close) {
$in_tag = false;
} elseif (!$in_tag) {
$segment_width++;
if (strpos(" \n\r\t", $str[$i]) !== false) {
$segment_width = 0;
}
if ($segment_width > $cols) {
$ret_val .= $separator;
$segment_width = 0;
}
}
$ret_val .= $str[$i];
}
return $ret_val;
} # }}}
jasny,, diky, jenom bych měl jeden minidotaz -> proč tam máš ty poznámky (ty #}}} )
jsou tam # {{{ a # }}}
to je pro muj oblibeny editor, kdyz jsem mezi nima, tak muzu udelat cvak, a z celeho textu mezi temato znackama mam jeden radek ktery pak vypada takto:
function htmlwordwrap($str, $cols, $separator=" ") { # {{{ [25 lines]
rikaji tomu folding, je to pak mnohem prehlednejsi. Umi to i folding podle odsazeni, ale to mi prislo zbytecne, tak to delam takto. Vymysleli to tusim v emacsu, pak to prevzal muj oblibeny jed a ted i JEdit...