15. april 2002 - 23:10
Der er
13 kommentarer og 1 løsning
preg_replace. HJÆLP!
Hej alle! Er der nogen der kan hjælpe mig med følgende: Jeg har en tekst a la: <!-- xxx --> Et eller andet <!-- yyy --> Som jeg ønsker at skifte ud med: <!-- xxx --> Noget meget mere interessant <!-- yyy --> Jeg er klar over at jeg skal bruge funktionen: preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit]) Men kan i øvrigt ikke få det til at virke. Hvad gør jeg? Mvh. Thomas
Annonceindlæg fra Kingston Technology
15. april 2002 - 23:19
#1
Utestet $txt = eregi_replace("<!--xxx-->(.*?)<!--yyy-->","<!--xxx-->$mere<!--yyy-->".$txt);
15. april 2002 - 23:19
#2
$mere="Noget mere inteessant"; $txt = eregi_replace("<!--xxx-->(.*?)<!--yyy-->","<!--xxx-->$mere<!--yyy-->",$txt);
15. april 2002 - 23:22
#3
hvis det er dit mål, hvorfor så ikke bare gøre det manuelt.. $string = "<!--xxx-->Et eller andet<!--yyy-->"; $nystring = "<!--xxx-->Noget mere interessant<!--yyy-->"; det virker ikke rigtig som noget du skal bruge regex til..
15. april 2002 - 23:24
#4
Jeg får fejlen: "REG_BADRPT:repetition-operator operand invalid". Kan du ændre det? Tak!
15. april 2002 - 23:26
#5
Ah, ja, det er spørgsmålstegnet - den ikkegrådige metode er kun i preg-rene. prøv: $txt = pregi_replace("/<!--xxx-->(.*?)<!--yyy-->/i","<!--xxx-->$mere<!--yyy-->",$txt);
15. april 2002 - 23:26
#6
Sørry: preg_replace ... :)
15. april 2002 - 23:31
#7
Det virker som om der mangler noget en mulitline multiplier. Hvordan er det nu?
15. april 2002 - 23:32
#8
$txt = pregi_replace("/<!--xxx-->(.*?)<!--yyy-->/im","<!--xxx-->$mere<!--yyy-->",$txt);
15. april 2002 - 23:37
#9
Jeg er bange for at den ikke kan finde ud af det på denne måde. Den genkender ikke mønstret.
15. april 2002 - 23:42
#10
Hvad betyder modifier "i", og mangler der ikke en "s" modifier?
15. april 2002 - 23:45
#11
Jo, hvis det står på flere linier skal du have s med. i er "ignore case", hvis nu der står <!--XXX-->
15. april 2002 - 23:47
#12
Fint. Tak for hjælpen. Du skulle have modtaget pointene. Blot et sidste spørgsmål: Er der en måde hvorpå man kan referer til den tekst som er blevet fjernet, altså det der er identificeret som (.*?)?
15. april 2002 - 23:50
#13
ja, som \1 (dvs inden i "...." skal du skrive ".....\\1.....")
15. april 2002 - 23:56
#14
Tusind tak!
Vi tilbyder markedets bedste kurser inden for webudvikling