Regular expression

Gestart doorTimkb10 reacties43 weergaven

11 berichten · pagina 1 van 1

Timkb

Lid · Topicstarter

Berichten
4.214
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Hoi,

Voor een mail systeem wil ik links bijhouden en dat lukt door middel van dit stukje code:

$template = preg_replace(!(((f|ht)tp://)[-a-zA-Z--()0-9@:%_+.~#?&;//=]+)!i, $1?gos=.$dataArray[mail_key], $template);


Het werkt perfect maar helaas pakt hij niet alleen de links er uit maar ook de images. Ik heb totaal geen kaas gegeten van regular expression en heb dan ook geen idee hoe ik images er uit kan filteren. Alles wat op .jpg, .png, .gif eindigt zou ik dus graag uitgesloten willen van deze preg_replace maar hoe?

Alvast bedankt.
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Wat bedoel je met links bijhouden?
0
Timkb

Lid · Topicstarter

Berichten
4.214
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Voor statistieken, achter elke link word nu ?gos=uniekesleutel toegevoegd zodat ik kan bijhouden hoeveel procent links opent e.d. het probleem is dat hij nu ook ?gos=uniekesleutel aan images toevoegt.
0
Berichten
35.796
Reputatie
1
Punten
0,00
Lid sinds
Laatst gezien
Kun je dat niet in je UBB parser afvangen, of zet je de links als HTML in de mail en niet via UBB?
0
Timkb

Lid · Topicstarter

Berichten
4.214
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik gebruik geen UBB, de links staan als HTML.

Edit: Als ik Google kom ik heel vaak dit tegen: (?!.jpg) maar ik krijg het met geen mogelijkheid in de bovenstaande regex. Steeds krijg ik weer een andere modifier error.
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Hoe implementeer je die?
0
Timkb

Lid · Topicstarter

Berichten
4.214
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Ik heb hem op verschillende plaatsen (die mij logisch leken) geprobeerd er tussen te zetten maar zoals ik in mijn startpost al in de start post zei, ik snap werkelijk waar niets van regex dus waarschijnlijk doe ik het gewoon verkeerd.
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Let us see...
0
Timkb

Lid · Topicstarter

Berichten
4.214
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Deze heb ik geprobeerd:

!(?!.jpg|.png|.gif)(((f|ht)tp://)[-a-zA-Z?-??-?()0-9@:%_+.~#?&;//=]+)!i
!((?!.jpg|.png|.gif)((f|ht)tp://)[-a-zA-Z?-??-?()0-9@:%_+.~#?&;//=]+)!i
!(((f|ht)tp://)(?!.jpg|.png|.gif)[-a-zA-Z?-??-?()0-9@:%_+.~#?&;//=]+)!i
!(((f|ht)tp://)[-a-zA-Z?-??-?()0-9@:%_+.~#?&;//=](?!.jpg|.png|.gif)+)!i
!(((f|ht)tp://)[-a-zA-Z?-??-?()0-9@:%_+.~#?&;//=]+(?!.jpg|.png|.gif))!i
!(((f|ht)tp://)[-a-zA-Z?-??-?()0-9@:%_+.~#?&;//=]+)!i(?!.jpg|.png|.gif)

Bij allemaal krijg ik een unknown modifier error.
0
Berichten
10.421
Reputatie
4
Punten
0,00
Lid sinds
Laatst gezien
Hie implemteer je het in PHP? Welke functie? Laat eens zien?
0
Timkb

Lid · Topicstarter

Berichten
4.214
Reputatie
0
Punten
0,00
Lid sinds
Laatst gezien
Exact zoals in mijn startpost:

$template = preg_replace(de regex hier, $1?gos=.$dataArray[mail_key], $template);
0

Jouw reactie

Deel je idee, stel een vraag of help een ander verder.

Editor laden…

Praat mee met de One2xs-community.

Inloggen om te reageren