|
| (.*?) 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
| |
|
|