12. maj 2005 - 08:08Der er
13 kommentarer og 1 løsning
Udelade gruppe
Hejsa, er der nogen der ved om man kan udelade en gruppe fra ens match i et regex. Meningen er at jeg f.eks vil finde url's ved at lede efter http:// men når jeg skriver mit match ud vil jeg gerne have protokollen udeladt - altså så http://www.tv2.dk giver resultatet www.tv2.dk
Jeg er ikke helt med på hvad du mener. Kan du evt komme med et eksempel på hvordan jeg kan finde en url ved at lede efter http:// og udtrække url men uden at udtrykket har http:// med?!
Hvis vi tager den noget forsimplede regel, at en url i en tekst er alt der starter med http:// og fortsætter indtil det første whitespace tegn (mellemrum, linjeskift med videre) så kan vi finde dem og lave dem til url'er - og lave link-teksten til url'en uden http:
Pointen er den samme som den første kommentar... Det jeg ville var ikke at bruge nogle metoder til at ændre strengen efterfølgende men derimod søge på en del af udtrykket men trække noget andet ud... Ser umiddelbart ud til det ikke er muligt kan jeg fornemme så jeg lukker bare spørgsmålet igen...
Det kan du altså sagtens, men kan du ikke bare komme med et eksempel på, hvad du vil? Og hvis nu svaret var "nej, der kan man ikke", så skal du stadig ikke snuppe pointene selv - for i så fald var "nej" jo det rigtige svar (for ikke at tale om den indsats, folk i forvejen har gjort for dig). Men ingen forstår tydeligvis hvad du vil, så vi kan ikke hjælpe dig med en løsning.
Jeg kan ikke forklare det meget tydligere end at jeg vil kunne søge på noget og få de efterfølgende karakterer tilbage (som jeg har skrevet flere gange). Desuden har jeg ikke fået nogen som helst svar der har noget med det at gøre (alm. streng gymnastik er ikke at gøre en indsats da det er lige til for en hver). Konklutionen om at det ikke kunne lade sig gøre traf jeg selv da jeg ikke fik nogen brugbare svar - ergo er pointene til mig selv. Så op med hovedet og lad være at blive sur over trivialiteter :o)
Nej, den indeholder netop bare et udtryk det trækker det hele ud incl. "http://" og så fjerner han det bare fra efterfølgende vha replace - det er netop det hele opgaven går på at man skal undgå.
Synes nu ikke der er så meget at være i tvivl om og desuden indeholder opgaven fra start af et eksempel. Never mind gider ikke bruge mere tid på det her da jeg har lavet en alternativ løsning..
Du har ikke givet noget kontekst - altså hvordan det skal bruges. Dit spørgsmål kan fint besvares med en preg_replace i php. Men hvis det ikke er det, du skal bruge det til, så må du sige, hvad du skal bruge det til.
Men muligvis en look-behind er din løsning.
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.