Jump to content

Regex - targeting urls with dashes only?


Go to solution Solved by requinix,

Recommended Posts

I'm hoping to finish a regex that I've been trying to craft, and would like some advice as I've hit a roadblock .

 

 

So I have a whole list of urls. I need to only capture 'seo friendly' (typically article/post titles) urls with at least one dash, like:

http://thepigeonnest.com:80/passenger-pigeons-ectopistes-migratorius/
http://thepigeonnest.com/pigeon-lover-mike-tyson-to-star-in-pigeon-reality-show/

But, my regex also captures sub-folders without a dash like:

http://pinkstripedpig.com/contact/

My regex so far is thus:

http://([a-z0-9]+(-[a-z0-9]+)*\.)+[a-z]{2,}(/|:80/)[a-z0-9-]+/
Edited by Frosty
Link to comment
https://forums.phpfreaks.com/topic/283822-regex-targeting-urls-with-dashes-only/
Share on other sites

  • Solution

Turn

[a-z0-9-]+
which says "at least one letter or number or hyphen", into

[a-z0-9]+-[a-z0-9-]+
which says "at least one letter or number, then a hyphen, then more letters or numbers or hyphens".
This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.