Autor Zpráva
W4C
Profil
Nazdar,
jak to udělat?
Nechci mít dlouhý řádek ve výpisu array oseklý dle zadané velikosti/což jde/, ale chtěl bych, aby se na konci (třeba v tabulce nebo normálně podle definované velikosti stránky v DIVu) zalomil do dalšího řádku.
V současné době mi takový dlouhý řádek posune celý obsah stránky/v tabulce/ doprava mimo viditelnou plochu obrazovky a nerespektuje ani uzavření do divu ani napevno nastavený rozměr tabulky.
Jde to nějak udělat?.Moc se mi to nedaří/kromě jeho oříznutí-což je nevyhovující/.

Array
(
    [0] => aaaaaaaaaaaa
    [1] => bbbbbbbbbbb
    [2] => ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
    [3] => ddddddddddd
    [4] => eeeeeeeeeeee
     atd
)


//edit:
Zápis typu:
print "<pre>\n";
        print_r(get_headers($promenna));
print "</pre>\n";


nic neřeší
o_O
Profil
Říká se tomu wordwrap a existuje v PHP, i v CSS.
W4C
Profil
o_O:
O tom vím, ale nějak mi to v tomhle případě nefungovalo./jak jsem psal nahoře, povedlo se mi to akorát pomocí wordwrap nějak oříznout,zalomit ale ne/
Můžeš poupravit tento původní kód podle sebe,aby zalomení fungovalo správně?/třeba jsem měl špatnej syntax/

Jedná se o tohle:

<?php
$a10="http://ic.cz";   //třeba tady je dlouhej řádek,kterej przní tabulku - pro názornost zobrazen 2x vedle sebe/

echo "<table width=100%>";
echo "<tr><td width=50% valign=top>";
   echo "<pre>\n";
       print_r(get_headers($a10));
   echo "</pre>\n";
echo "</td>";
echo "<td vidth=50% valign=top>";
   echo "<pre>\n";       
       print_r(get_headers($a10));
   echo "</pre>\n";       
echo "</td></tr></table>";
?>
o_O
Profil
$vypis=Array();
$vypis[]='Velice krátký text.';
$vypis[]='VeliceDlouhýTextKterýNikdoNemáRádZDůvoduRoztáhnutíStránkyCožMimochodemDělajíIObrázky';
$vypis[]='Velice dlouhý text, který nikdo nemá rád z důvodu roztáhnutí stránky (což mimochodem dělají i obrázky)';

foreach($vypis AS $value){
  echo '<td>'.wordwrap($value,50,'<br>',true).'</td>'; // wordwrap((string) výstup, (int) délka po které se text zalomí, (string) čím zalamovat, (bool) rozdělovat příliš dlouhá slova)
}

Pravděpodobně jste zapomněl na 4. (poslední) parametr. Osobně bych to neřešil na úrovni PHP (CSS).
W4C
Profil
OK díky za info, musím to ale převést na klasický text - ztratím tím ale každopádně původní číslovaný systém řádkování,což bych nechtěl

První funkční způsob:
<?php
$a10="http://ic.cz"; 
$a1=get_headers($a10);
$a2=implode("<br>",$a1);
$a3=wordwrap($a2,120, "<br>", true);
echo $a3;
?>


nebo druhý fiunkční způsob::

<?php
$a10="http://ic.cz";
$a1=get_headers($a10);
foreach($a1 AS $value){
print_r(wordwrap($value,120,"<br>",true));  // <br> zde po 120 znacích neodřádkuje, zajímavé je, že zde nefunguje vůbec parametr "\n"
echo "<br>";                                                //s tímhle už to odřádkuje a musí to tam být
}
?>


Nakonec jsem to vyřešil takto a nechám to asi už tak - zalamování funguje a čísla řádků tam jsou taky:

<?php
$a10="http://ic.cz"; 
$a1=get_headers($a10);
$a2=implode("<br>",$a1);
$a3=wordwrap($a2, 120, "<br>", true);
$a4=explode("<br>",$a3);
print "<pre>\n";                                         //tohle už po implode a explode funguje správně/
print_r($a4);
print "</pre>\n";
?>

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