Autor | Zpráva | ||
---|---|---|---|
Lajček Profil * |
#1 · Zasláno: 17. 2. 2013, 17:55:14
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 |
#2 · Zasláno: 18. 2. 2013, 00:43:25
A k čemu jste zatím dospěl?
|
||
Lajček Profil * |
#3 · Zasláno: 18. 2. 2013, 09:18:49
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 |
#4 · Zasláno: 18. 2. 2013, 09:20:25
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; ?> |
||
Časová prodleva: 11 let
|
0