Autor Zpráva
Tomasekkk
Profil *
Zdravim Vas,

mel bych dotaz. V MySQL mam napsane nejake polozky, ktere jsou oddelene radkem \r, jelikoz jsou v databazi bez jakehokoli formatovani, chtel bych je dat napr. do tabulek pod sebe. Muzete mi prosim poradit, jak generovat tyto texty pod sebe treba tak, ze kazdy radek bude zacinat tagem DIV a bude take ukoncen? Rad bych pro kazdy tento zapis mel napr. jine pozadi, s tim si poradim, ted mi jde jen o vypis kazdeho radku zvlast, zkousel jsem to pres str_replace("\r","<br>",policko); ale to neni to co presne potrebuji.

Diky Tom
starburst
Profil
nl2br ?
a nebo eregreplace nahrad \r za <br>
Tomasekkk
Profil *
starburst

No to jsem psal, to mi funguje, ale potřebuju před každý řádek dát např. <div> a na konci toho řádku ukončit taky <div>, to proto, že pomocí divu chci udělat z každého zápisu ohraničení a pro každý řádek jiné pozadi (ať se odliší)
Joker
Profil
starburst
tak místo replace \r -> <br> udělat replace \r -> </div><div> a potom na začátek toho celého přidat <div> a na konec </div> (je ovšem možné, že takhle na začátnu nebo na konci vznikne prázdný <div>)
Tomasekkk
Profil *
Joker

No to právě nechci, protože chci u toho divu udělat border: 1px solid; apod., takže bych opravdu potřeboval načíst každý řádek zvlášť a pak si klidně před každý vložit div nebo td
Str4wberry
Profil
Existuje několik možností. Já bych si asi z obsahu položky udělal pole, ve kterém bych nechal jen neprázdné části původního textu. A pomocí implode sestavil do <div>ů. Nebo si můžeš odstranit „\r“ na začátku/konci (je-li tam) a postupovat dle rady Jokera.
Tomasekkk
Profil *
Str4wberry

Jo díky, ale nejsem až tak zběhlý, abych věděl jak využít implode. \r je pouze na konci každého řádku. Např.

Kniha Jak opravit auto, české vydání\r
Kniha Jak opravit motorku, slovenské vydání\r
atd.

Výsledek bych pak chtěl udělat takto:

<div style="border: 1px solid; background: red;">Kniha Jak opravit auto, české vydání</div>
<div style="border: 1px solid; background: blue;">Kniha Jak opravit motorku, slovenské vydání</div>

Tom
deter
Profil
co takhle?

$piece=explode("\r", $data_z_db); //$data_z_db obsahuje ten string, ktery chces rozdelit
$vysledek='<div style="border: 1px solid; background: red;">'.implode('</div><div style="border: 1px solid; background: red;">',$piece);
krteczek
Profil
$tabulka = explode("\r", $datazdb);
$a = 0;
$div = '';
foreach($tabulka as $radek)
{
 if(!empty($radek))
  {
    $a++;
    $div .= "\n" . (($a%2 == 1) ? '<div class="suda">':<div class="licha">') . $radek . '</div>';
  }
}
echo $div;

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