Autor Zpráva
Lajček
Profil *
Potřebuji formátovat text z formuláře (pole textarea), již jsem pořešil téměř vše co jsem pro své účely potřeboval (tvorba odstavců, jednořádkové mezery apod.), ještě bych ovšem pomocí preg_replace potřeboval automatickou tvorbu odrážkových html seznamů

Příklad:


Jakýkoliv text před položkami...

1) První položka
2) První položka
3) První položka

Jakýkoliv text pod položkami...


Tak aby z výše uvedeného textu náhradou pomocí (preg_replace) vyšel výstup:


<ul>
 <li>První položka</li>
 <li>Druhá položka</li>
 <li>Třetí položka</li>
</ul>

Předpokládaný seznam bude vždy ve formátu 1) První položka + jednořádková mezera + 2) Druhá položka......
Poradí někdo, díky!
Str4wberry
Profil
A k čemu jste zatím dospěl?
Lajček
Profil *
Jelikož se mi to s PREG_REPLACE nedařilo.... vyzkoušel jsem si hrát s PREG_MATCH_ALL

toto zdá se funguje pro mé účely schopně

preg_match_all('~^.*\d{1}[)]{1}\s+(.*)\r.*$~m', $text, $z_text);

Dále to projedu cyklem a přidám značky <ul><li>

...akorát nechápu rozdíl v odřákování (\n vers \r). 100% mi ten regulár funguje jen když tam dám pouze \r ..... ?
TomasRe
Profil
No kdyby to bylo mohlo být ohraničeno třeba divem, tak by se to pak dalo vytáhnout např.:

<?php
$souborx = file_get_contents($text);
if ($akce == "upload"){
    if (preg_match('|<div id="ul">([^<]*)</div>|', $souborx, $matches)) {
        $ten_text = $matches[1];
} else {
    echo("");
}}

echo $ten_text;
?>

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