30. maj 2006 - 17:44
Der er
15 kommentarer og 1 løsning
Hjælp til str_replace?
Hejsa, Jeg sidder og bikser med en str_replace, hvor jeg skal have fjernet linier med variable id'er. En linie kunne f.eks. se sådan her ud: <tr onclick=\"location.href='index.phtml?ac_start2=1&id=986321';\"> Og min str_replace således: $streng = str_replace("<tr onclick=\"location.href='index.phtml?ac_start2=1&id=986321';\"> ", "", $streng); Men i dette tilfælde udelukker den kunne linien med id=986321.. Hvordan kan jeg gøre således at den udelukker uanset hvilket id der er tale om? MVH Weeelo
Annonceindlæg fra Deloitte
Men i dette tilfælde udelukker den kun linien med id=986321..*
Et bud: $streng = preg_replace("/<tr onclick=\"location.href='index.phtml?ac_start2=1&id=\d+';\">/i", "", $streng);
Nixen, det virker ikke.. Skulle \d+ virke som en "joker"?
\d+ skulle gerne betyde "1 eller flere ciffre". PS: Jeg bliver lige nødt til at spørge: Du har lagt mærke til at jeg bruger preg_replace i stedet for str_replace?
Måske virker denne her bedre: $streng = preg_replace("/<tr onclick=\"location.href='index\.phtml\?ac_start2=1&id=\d+';\">/i", "", $streng);
Strengt taget er det ikke nødvendigt at escape .-tegnene for at det virker, men det er nu det pæneste: $streng = preg_replace("/<tr onclick=\"location\.href='index\.phtml\?ac_start2=1&id=\d+';\">/i", "", $streng);
Ja, sandelig så.. Det virker! Smid et svar og tak for hjælpen..
Jeg ved ikke helt om jeg skal oprette et nyt spørgsmål, men prøver lige her først. Hvad hvis jeg har en dato i strengen? F.eks.: 01/12 22:34 $streng = preg_replace("/\d+/\d+ \d+:\d+/i", "", $streng); Det virker ikke?
Prøv lige dette: $streng = preg_replace("/\d+\/\d+ \d+:\d+/i", "", $streng);
... men selv ville jeg nok bruge denne: $streng = preg_replace("/\d{2}\/\d{2} \d{2}:\d{2}/", "", $streng);
Fantastisk! Begge muligheder virker - jeg går udfra at {2} betyder at cifrene begrænses til præcis 2? Mange tak for hjælpen igen - vil du have flere points for det?
Nemlig: {2} = præcis 2 {2,} = 2 eller flere {2,4} = 2 til 4 {,4} = 0-4 Nej tak, der er ikke behov for flere point på denne her, men ellers tak for tilbudet. :^)
Ok, tak for uddybningen. Så lærte jeg da lidt i dag :)
Vi tilbyder markedets bedste kurser inden for webudvikling