/ 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
Ændring i HTML tabel
Fra : Thomas Iversen


Dato : 11-03-02 00:13

Hej

Jeg har lavert et schript som kan oprette en HTML-tabel, men nu ønsker jeg
også at kunne rette i den. En tilfældig række i tabellen ser ud som
følgende:

<TR>
<TD>7</TD>
<TD>R.Pratap<BR>- &#34;Titel&#34;</TD>
<TD TITLE='ref7'></TD>
<TD>Lena</TD>
<TD TITLE='afl7'>8/3</TD>
<TD TITLE='laan7'>Kim</TD>
</TR>

Jeg ønsker at kunne rette i cellerne 3,5,6 talt fra oven altså dem jeg har
angivet en titel. Ind til nu har jeg prøvet med koden:

$dokument = implode('', file("litteratur.html"));
$dokument = str_replace(" <TD TITLE='$celle_navn'>???</TD>"," <TD
TITLE='$celle_navn'>$ny</TD>", $dokument);

I denne kode mangler jeg bare at få erstatter ??? med en operator for "hvad
som helst", så skulle det vist nok virke. Kan I give mig et svar på det,
eller har I en bedre ide til hvordan man skal klare situationen.

Hilsen Thomas



 
 
Andreas Kleist Svend~ (11-03-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 11-03-02 09:12

On Mon, 11 Mar 2002 00:12:32 +0100
"Thomas Iversen" <iver@nork.auc.dk> wrote:

> Jeg har lavert et schript som kan oprette en HTML-tabel, men nu ønsker
> jeg også at kunne rette i den. En tilfældig række i tabellen ser ud som
> følgende:

[snip]

> I denne kode mangler jeg bare at få erstatter ??? med en operator for
> "hvad som helst", så skulle det vist nok virke. Kan I give mig et svar
> på det, eller har I en bedre ide til hvordan man skal klare situationen.

Hvis du har mulighed for det er det _meget_ nemmere at opbevare dine data
uden formatering, f.eks. i en MySQL-database eller en kommasepareret fil.

--
mvh Andreas Kleist Svendsen

Thomas Iversen (11-03-2002)
Kommentar
Fra : Thomas Iversen


Dato : 11-03-02 20:18

Det lyder helt sikkert som den smarteste ide, men så skal jeg jo til at
sætte mig ind i MySQL. Du kender ikke en operator som kan klare det jeg
skrev om i første meddelelse, så kan jeg sætte mig ind i MySQL en anden go
gang.

Thomas


"Andreas Kleist Svendsen" <usenetnospam@nau.dk> skrev i en meddelelse
news:20020311091139.5109d48f.usenetnospam@nau.dk...
> On Mon, 11 Mar 2002 00:12:32 +0100
> "Thomas Iversen" <iver@nork.auc.dk> wrote:
>
> > Jeg har lavert et schript som kan oprette en HTML-tabel, men nu ønsker
> > jeg også at kunne rette i den. En tilfældig række i tabellen ser ud som
> > følgende:
>
> [snip]
>
> > I denne kode mangler jeg bare at få erstatter ??? med en operator for
> > "hvad som helst", så skulle det vist nok virke. Kan I give mig et svar
> > på det, eller har I en bedre ide til hvordan man skal klare situationen.
>
> Hvis du har mulighed for det er det _meget_ nemmere at opbevare dine data
> uden formatering, f.eks. i en MySQL-database eller en kommasepareret fil.
>
> --
> mvh Andreas Kleist Svendsen



Andreas Kleist Svend~ (11-03-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 11-03-02 20:31

On Mon, 11 Mar 2002 20:18:28 +0100
"Thomas Iversen" <iver@nork.auc.dk> wrote:

> Det lyder helt sikkert som den smarteste ide, men så skal jeg jo til at
> sætte mig ind i MySQL. Du kender ikke en operator som kan klare det jeg
> skrev om i første meddelelse, så kan jeg sætte mig ind i MySQL en anden
> go gang.

Joda,
eregi_replace("(<td title='ref7'>)[^<]*(</td>)", "\\1Ny tekst\\2",
$blabla); erstatter
<td title='ref7'>En hvilken som helst tekst som ikke indeholder "mindre
end"-tegnet</td> med
<td title='ref7'>Ny tekst</td>

Det er ikke testet, så der kan forekomme svipsere...

Hvis der skulle være noget af det du ikke forstår, så vil jeg gerne
forklare det, men tag lige et kig i manualen først...


--
mvh Andreas Kleist Svendsen

Andreas Kleist Svend~ (12-03-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 12-03-02 00:27

On Mon, 11 Mar 2002 23:26:53 +0100
"Thomas Iversen" <iver@nork.auc.dk> wrote:

> Tak for hjælpen, men det virker heller ikke.

Nu har jeg testet det, og hos mig virker det som forventet, kan du ikke
prøve at vise mig hvordan du bruger det?

> Kan du forklare mig operatorne:
>
> [^<] og \\1Ny tekst\\2

[^<] matcher et tegn, som ikke er <.

Tilsvarende matcher [^abc] et tegn som ikke er a, b eller c.

"\\1Ny tekst\\2" står der såmænd noget om i manualen.

If pattern contains parenthesized substrings, replacement may contain
substrings of the form \\digit, which will be replaced by the text
matching the digit'th parenthesized substring; \\0 will produce the entire
contents of string. Up to nine substrings may be used. Parentheses may be
nested, in which case they are counted by the opening parenthesis.
http://dk.php.net/manual/en/function.ereg-replace.php

Så "\\1" er altså teksten i de første parentes, i dette tilfælde "<td
title='ref7'>", tilsvarende gælder naturligvis for \\2 og andet
parentespar.

--
mvh Andreas Kleist Svendsen

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

Månedens bedste
Årets bedste
Sidste års bedste