TheClown Skrevet 6. april 2010 Skrevet 6. april 2010 (endret) Hei, jeg lager et meldingssytem i ett av prosjektene mine. Når man quoter en tidligere person ser det slik ut: @Brukernavn#InnleggNummer Åssen kan jeg få dette til å se slik ut: @<a href="#InnleggNummer">Brukernavn</a>: Brukernavn kan inneholde alle mulige karakterer, InnleggNummer kan kun være tall På forhånd takk, Thomas |edit| Jeg har fått til uttrykket ^[@][^#]*[#][0-9]* men jeg sliter med replace-delen. Noen som har lyst til å hjelpe meg? Endret 7. april 2010 av TheClown
TheClown Skrevet 6. april 2010 Forfatter Skrevet 6. april 2010 Huff, så dum jeg er. Beklager allesammen. Løsningen ser slik ut: $pattern = '/^@(\w+)#(\d+)/'; $replacement = "<a href='#$2'>$1</a>";
TheClown Skrevet 6. april 2010 Forfatter Skrevet 6. april 2010 Hmm, ser ut som om det er noe feil i uttrykket mitt. Den klarer @Brukernavn#1 helt fint, men @Bruker navn#1 går ikke. Hva er feil?
Ernie Skrevet 6. april 2010 Skrevet 6. april 2010 \w er alle tegn i et ord hvilket eksluderer blant annet mellomrom. Det vil gå bedre om man benytter . som betyr alle tegn (med unntak av linjeskift) ev. danne er en egen «klasse» [^#] som vil bety alle andre tegn enn #
TheClown Skrevet 6. april 2010 Forfatter Skrevet 6. april 2010 Kunne du forklare nærmere? Jeg har lagd dette uttrykket gjennom RegexBuddy. Uten det er jeg hjelpeløs
Ernie Skrevet 6. april 2010 Skrevet 6. april 2010 Kort sagt: \w er en «klasse» med tegn som benyttes i ord. Dvs. primært A-Z + 0-9. Hvis du ønsker å godta mellomrom må du dermed benytte noe annet enn \w. Da kan du enten bytte ut \w med . eller danne en egen «klasse» med [^#] siden det er # er det tegnet du skiller navn og nummer med. Mao. du kan bruke en pattern som ser slik ut: /^@(.+)#(\d+)/ eller slik ut: /^@([^#]+)#(\d+)/ PS: Utestet, men bør fungere.
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå