/ 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
REGEXP
Fra : Thomas Lindgaard


Dato : 28-09-01 15:10

Hejsa

Jeg har et lille problem...

Jeg har defineret nogle huller i en statisk HTML-side, som jeg skal erstatte
med noget dynamisk indhold. Hullerne ser som følger: [>HULNAVN<].

Hvordan skal mit regulære udtryk se ud for at matche hullerne? Jeg har
prøvet følgende:

preg_replace(""/(\[>)^(<\])*(<\])/", "blabla", $output);

Dvs.: Match "skarp parentes + hak - noget som ikke er hak + skarp parentes",
men det dutter ikke :(

--
Thomas Lindgaard



 
 
Nezar Nielsen (28-09-2001)
Kommentar
Fra : Nezar Nielsen


Dato : 28-09-01 17:57

"Thomas Lindgaard" <thomas@dnspilot.com> skrev i en meddelelse
news:9p209c$1lei$1@news.cybercity.dk...
> Hejsa
>
> Jeg har et lille problem...
>
> Jeg har defineret nogle huller i en statisk HTML-side, som jeg skal
erstatte
> med noget dynamisk indhold. Hullerne ser som følger: [>HULNAVN<].
>
> Hvordan skal mit regulære udtryk se ud for at matche hullerne? Jeg har
> prøvet følgende:

Hejsa,

Du forvirrer dig selv med alle de paranteser osv., sådan her, så kan du også
fange værdien HULNAVN, hvis det skulle være interessant (ellers kan du
fjerne paranteserne rundt om .*?).

$string='HEJ [>HULNAVN<] hvordan går det';
print preg_replace("/\[>(.*?)<\]/", "bla "."\\1"." bla", $string);

den matcher [> efterfulgt af vilkårlige tegn, vilkårligt mange gange, men
pga. spørgsmålstegnet går den i non-gready-mode, dvs. den matcher kun indtil
det der kommer bagved matcher (hvilket i praksis betyder at den bliver ved
med at matche indtil der stødes på <]).

--
Mvh. Nezar Nielsen
http://fez.dk/




Sabrina og Thomas (28-09-2001)
Kommentar
Fra : Sabrina og Thomas


Dato : 28-09-01 19:18

Hejsa igenigen

> print preg_replace("/\[>(.*?)<\]/", "bla "."\\1"." bla", $string);
>
> den matcher [> efterfulgt af vilkårlige tegn, vilkårligt mange gange, men
> pga. spørgsmålstegnet går den i non-gready-mode, dvs. den matcher kun
indtil
> det der kommer bagved matcher (hvilket i praksis betyder at den bliver ved
> med at matche indtil der stødes på <]).

Det var da godt nok ski'e smart med den der non-greedy-mode :)

/Thomas



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