/ 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
få ? med
Fra : Leonard


Dato : 01-12-03 23:05

Jeg har denne:
$tekst = ereg_replace("\r?\n\r?\n\r?\n([^\r?\n]+)",
          "<h3>\\1</h3>",
          $tekst);

som virker fint nok, undtagen når linien ender på et ?, så tager den
ikke ? med.

Og jeg fatter minus af hvordan jeg får den til at tage det ? med.
--
mvh Leonard http://leonard.dk/
Det er en muldvarp på motorcykel!
Hvad er det, der er småt, sort og meget hurtigt?
http://usenet.dk/netikette/citatteknik.html

 
 
Peter Brodersen (01-12-2003)
Kommentar
Fra : Peter Brodersen


Dato : 01-12-03 23:39

On Mon, 01 Dec 2003 23:04:33 +0100, Leonard <nospam@invalid.invalid>
wrote:

>$tekst = ereg_replace("\r?\n\r?\n\r?\n([^\r?\n]+)",
>          "<h3>\\1</h3>",
>          $tekst);
>
>som virker fint nok, undtagen når linien ender på et ?, så tager den
>ikke ? med.

Det giver ingen mening at bruge ? inde i: [^\r?\n]

[^\r?\n] betyder bare "et tegn, der ikke er CR, spørgsmålstegn eller
LF.

Rækkefølgen inde i en sådan klasse er også ligegyldig.

--
- Peter Brodersen

Ugens sprogtip: skodder (og ikke skoder)

Leonard (02-12-2003)
Kommentar
Fra : Leonard


Dato : 02-12-03 15:22

Peter Brodersen <usenet@ter.dk> wrote:

>[^\r?\n] betyder bare "et tegn, der ikke er CR, spørgsmålstegn eller
>LF.

Og tak for svaret, ved at fjerne ? virker det jo, og jeg tror samtidig
jeg har fattet lidt, men de andre ? skal vel være der:

ereg_replace("\r?\n\r?\n\r?\n([^\r\n]+)",


--
mvh Leonard http://leonard.dk/
Det er en muldvarp på motorcykel!
Hvad er det, der er småt, sort og meget hurtigt?
http://usenet.dk/netikette/citatteknik.html

Peter Brodersen (03-12-2003)
Kommentar
Fra : Peter Brodersen


Dato : 03-12-03 01:23

On Tue, 02 Dec 2003 15:21:44 +0100, Leonard <nospam@invalid.invalid>
wrote:

>>[^\r?\n] betyder bare "et tegn, der ikke er CR, spørgsmålstegn eller
>>LF.
>
>Og tak for svaret, ved at fjerne ? virker det jo, og jeg tror samtidig
>jeg har fattet lidt, men de andre ? skal vel være der:
>
>ereg_replace("\r?\n\r?\n\r?\n([^\r\n]+)",

Yep. Regulære udtryk er yderst kontekstspecifikke. Det kan virke lidt
forvirrende, fx:

Punktum, spørgsmålstegn, pipe m.fl. har en bestemt betydning udenfor
en klasse, men indeni en klasse (fx [.|?]) er der intet specielt ved
de tegn.

^ har betydning i starten af udtrykket og i starten indeni en klasse,
men ikke andre steder.

- har betydning indeni en klasse, medmindre tegnet står i begyndelsen
eller slutningen.


Hvor forvirrende, det end måtte virke, kan man som regel ud fra
konteksen se om et tegn kunne have speciel betydning eller ej.

--
- Peter Brodersen

Ugens sprogtip: skodder (og ikke skoder)

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

Månedens bedste
Årets bedste
Sidste års bedste