ďťż

[php] Numerowanie linijek tekstu

       

Podstrony


telcocafe

Witam,

<?php $stri = ' Lorem ipsum, dolor sit, amet erat... Lorem ipsum, dolor sit,,, amet erat. '; $stri = str_replace("&lt;", "<", $stri); $stri = str_replace("&gt;", ">", $stri); $stri = explode("\n\r", $stri); $all_stri = count($stri); echo '<table>'; for($i; $i > $all_stri; $i++) { echo('<tr><td>'.$i.'</td><td>'.$stri[ $i].'</td></tr>'); } echo '</table>'; ?>

Mam taki kodzik... chcę by podzielił mi tekst na linijki i każdą przypisał do tablicy.
Czyli że z tekstu:

Lorem ipsum,
dolor sit,
amet erat...
Lorem ipsum,
dolor sit,,,
amet erat.
zostanie utworzona tablica $stri:

$stri[0] = "Lorem ipsum,";
$stri[1] = "dolor sit,";
$stri[2] = "amet erat...";
$stri[3] = "Lorem ipsum,";
$stri[4] = "dolor sit,,,";
$stri[5] = "amet erat.";


To co mam nei działa ponieważ zawsze mam jeden element tablicy, a powienienem mieć 6.
Proszę o pomoc...



Primo: "\r\n", nie "\n\r" :)
Secundo: imo najpierw zamień znaki nowej linii na <br /> (nie wiadomo, na jakim serwie odpalisz skrypt), potem dopiero podziel (explode) wg tych <br /> ;)

Odnośnie PRIMO: ooo, heh, taki mały szczegłół i taka różnica... ;-D

Odnośnie SECUNDO: nie jestem pewien czy rozumiem... jakie to ma znaczenie czy rozbijam w \r\n czy <br /> ???

@edit:
Jeszcze jedno pytanie...
function bbcode_code2($str) { $stri = $str; $stri = str_replace("&lt;", "<", $stri); $stri = str_replace("&gt;", ">", $stri); $stri = str_replace("\r\n", "<br />", $stri); $stri = explode("<br />", $stri); echo '<table>'; for( $i = 0; $i < count($stri); $i++ ) { echo('<tr><td>'.++$i.'</td><td>'.$stri[ --$i].'</td></tr>'); } echo '</table>'; return [cotuwpisać?]; }
co wpisać w miejsce [cotuwpisać?] ( lub jak przerobić kod ) aby wyświetlił się wynik z echo, wyniku FOR i ostatniego echo ?
Użytkownik fenekpl edytował ten post 27 czerwiec 2007, 09:58
O ile dobrze patrzę, to możesz wyrzucić
return [cotuwpisać?];
i wtedy funkcja po wywołaniu od razu "wypisze" przetworzony tekst.

Jeśli chcesz żeby zwracała wartość to zrób to w taki sposób:
function bbcode_code2($str) { $stri = $str; $stri = str_replace("&lt;", "<", $stri); $stri = str_replace("&gt;", ">", $stri); $stri = str_replace("\r\n", "<br />", $stri); $stri = explode("<br />", $stri); $return='<table>'; for( $i = 0; $i < count($stri); $i++ ) { $return.='<tr><td>'.++$i.'</td><td>'.$ stri[--$i].'</td></tr>'; } $return.='</table>'; return $return; }

i wtedy będziesz mógł ją wywoływać w postaci:
$tekst=bbcode_code2('tekst do przetworzenia');

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.