/ 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
(.*?) med 6 tegn
Fra : Lobais


Dato : 18-02-04 20:36

Hvis jeg i linjen
$string = preg_replace('_[url](.*?)[/url]_', '<a href="$1">$1</a>',
$string);

kun vil have at de med præcis 6 tegn mellem [url] og [/url] skal
erstattes, hvad skal jeg så gøre?

Vil tro det er noget med (.6?)

--
Thomas
- "Videnskab uden religion er lam,
religion uden videnskab er blind." - Albert Einstein


 
 
Peter Brodersen (18-02-2004)
Kommentar
Fra : Peter Brodersen


Dato : 18-02-04 21:34

On Wed, 18 Feb 2004 20:36:10 +0100, Lobais <thomas@ahle.dk> wrote:

>Vil tro det er noget med (.6?)

(.{6})


..* er et vilkårligt antal (pga. "*") af vilkårlige tegn (pga. ".").
..*? er det samme, men matcher så kort som muligt.

--
- Peter Brodersen

Ugens sprogtip: saltomortale (og ikke saltomotale)

Nezar Nielsen (19-02-2004)
Kommentar
Fra : Nezar Nielsen


Dato : 19-02-04 09:43

Peter Brodersen wrote:
> Ugens sprogtip: saltomortale (og ikke saltomotale)

Ej, det var da sidste uges...

/N

Lobais (19-02-2004)
Kommentar
Fra : Lobais


Dato : 19-02-04 11:57

Wed, 18 Feb 2004 21:33:31 +0100. skrev Peter Brodersen:

> On Wed, 18 Feb 2004 20:36:10 +0100, Lobais <thomas@ahle.dk> wrote:
>
>>Vil tro det er noget med (.6?)
>
> (.{6})
>
>
> .* er et vilkårligt antal (pga. "*") af vilkårlige tegn (pga. ".").
> .*? er det samme, men matcher så kort som muligt.

Den giver mig
Warning: No ending delimiter '#' found in...

for linjen
$fil = preg_replace('#(.{6})', '<span style="color: #$1;">#$1</span>',
$fil);

Er det også muligt at gøre at det kun må være 0-9a-fA-F tegnene?
Noget med ({0-9a-fA-F}{6})

--
Thomas
- "Videnskab uden religion er lam,
religion uden videnskab er blind." - Albert Einstein


Peter Brodersen (19-02-2004)
Kommentar
Fra : Peter Brodersen


Dato : 19-02-04 16:50

On Thu, 19 Feb 2004 11:57:28 +0100, Lobais <thomas@ahle.dk> wrote:

>Den giver mig
>Warning: No ending delimiter '#' found in...
>
>for linjen
>$fil = preg_replace('#(.{6})', '<span style="color: #$1;">#$1</span>',
>$fil);

Det betyder (som der står), at du ikke har nogen ending delimiter. Du
skal adskille dit udtryk af nogle tegn. Kig på det oprindelige
eksempel:

$string = preg_replace('_[url](.*?)[/url]_', '<a href="$1">$1</a>',
$string);

Her bruges _ i starten og slutningen af udtrykket som adskiller. Det
kan du også gøre, fx:

$fil = preg_replace('_#(.{6})_', '<span style="color:
#$1;">#$1</span>', $fil);

>Er det også muligt at gøre at det kun må være 0-9a-fA-F tegnene?
>Noget med ({0-9a-fA-F}{6})

([0-9a-fA-F]{6})

--
- Peter Brodersen

Ugens sprogtip: saltomortale (og ikke saltomotale)

Lobais (19-02-2004)
Kommentar
Fra : Lobais


Dato : 19-02-04 19:21

Thu, 19 Feb 2004 16:50:07 +0100. skrev Peter Brodersen:

> ([0-9a-fA-F]{6})
Tak, du har været til stor hjælp.

Lige et sidste sprøgsmål.
Hvis nu ville lave et eventuelt mellemrum mellem # og (). Kunne jeg så
bruge noget i stil med ([ ]{0-1})?
'_#([0-9a-fA-F]{6})_'

--
Thomas
- "Videnskab uden religion er lam,
religion uden videnskab er blind." - Albert Einstein


Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste