/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
preg-replace - dynamisk tabel
Fra : Morten Winther


Dato : 17-04-02 13:42

Hej

Jeg er ved at lave et system hvor man skal taste imformationer ind omkring
et produkt. Jeg vil gerne lave det sådan at man kan lave små tabeller ved at
bruge ## til indikere felter. Men hvordan klare jeg den med preg?

Først skal jeg vel finde grupper af ## og sætte <table> omkring og derefter
laver de enkelte rows. Nogen der kan hjælpe mig på vej eller har lavet noget
ligende?


Input eksempel:

Bla bla bla.
##Vægt##1456 gram##
##Højde##40 cm##
##Brede##14 cm##
##Dybde##80 cm##
Bla bla bla måske endnu en tekst afsnit.
##DPI##450##
##Format##A4##

Dette skulle så gerne laves om til HTML (output):

Bla bla bla.
<table>
<tr>Vægt</td><td>1456 gram</td></tr>
<tr>Højde</td><td>40 cm</td></tr>
<tr>Brede</td><td>14 cm</td></tr>
<tr>Dybde</td><td>80 cm</td></tr>
</table>
Bla bla bla måske endnu en tekst afsnit.
<table>
<tr>DPI</td><td>2400</td></tr>
<tr>Format</td><td>A4</td></tr>
</table>

/ morten



 
 
Morten Winther (17-04-2002)
Kommentar
Fra : Morten Winther


Dato : 17-04-02 14:40

"Morten Winther" <mw@get2net.dk> wrote in message
news:a9jqkr$2kda$1@news.cybercity.dk...
> Hej
>
> Jeg er ved at lave et system hvor man skal taste imformationer ind omkring
> et produkt. Jeg vil gerne lave det sådan at man kan lave små tabeller ved
at
> bruge ## til indikere felter. Men hvordan klare jeg den med preg?

Nu fik jeg fixet noget sammen, men kan det gøres bedre?

<?

$ind= 'Bla bla bla.

##Vægt##1456 gram##
##Højde##40 cm##
##Brede##14 cm##
##Dybde##80 cm##

Bla bla bla måske endnu en tekst afsnit.

##DPI##450##
##Format##A4##

Virker det?';

$ud =
preg_replace("/##(.*)##(.*)##/i","<tr><td>$1</td><td>$2</td></tr>",$ind);
$ud = preg_replace("/(\r\n|\r|\n)(\r\n|\r|\n)<tr>/m","<table><tr>",$ud);
$ud = preg_replace("/<\/tr>(\r\n|\r|\n)(\r\n|\r|\n)/m","</tr></table>",$ud);
print($ud);

?>

/ morten



Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste