Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 6581859
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 25, 20262026-05-25T16:12:26+00:00 2026-05-25T16:12:26+00:00

Possible Duplicate: Need a good regex to convert URLs to links but leave existing

  • 0

Possible Duplicate:
Need a good regex to convert URLs to links but leave existing links alone

This is a my sample input:

http://www.website.com/1/
Click here http://www.website.com/2/ or visit the website: http://www.website.com/3/
or http://www.website.com/4/
http://www.website.com/5/

I want a PHP function that converts the URLs inside the text into tags, like so:

<a href="http://www.website.com/1/">http://www.website.com/1/</a>
Click <a href="http://www.website.com/2/">here</a> or visit the website: <a href="http://www.website.com/3/">http://www.website.com/3/</a>
or <a href="http://www.website.com/4/">http://www.website.com/4/</a>
<a href="http://www.website.com/5/">http://www.website.com/5/</a>

There is a catch on line 2: if the URL is preceded by the word here then the word should be used as the anchor text instead. I need to do this in PHP. I think preg_replace with /e switch might help me accomplish this task but I am not sure. This is the (borrowed) regex I’ve used so far:

preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a    href=\"\\2\" target=\"_blank\">\\2</a>", $ret);
//                     ^---- I've tried adding "|here "
//                           But I cannot get the order of \\1 and \\2 right

Please advice.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-25T16:12:26+00:00Added an answer on May 25, 2026 at 4:12 pm

    “But I cannot get the order of \1 and \2 right”

    The number of the capturing groups are in the order of the opening brackets, so the first opening bracket will always be $1. If you don’t want that, use named groups.

    For your problem you can try this regex

    (?:(here)\s*|\b)(\w+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)
    

    It will have “here” in $1 and the link in $2. If “here” is not found then $1 is empty.

    See it here on Regexr

    So, then you need to replace dependent on the content of $1. If it is empty then replace the match with

    <a href="$2">$2</a>
    

    else with

    <a href="$2">$1</a>
    

    I think this should be possible using preg_replace_callback

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

Possible Duplicate: A good reference for Oracle PL/SQL I need make a procedure to
Possible Duplicate: I need a good way to get data from a thread to
Possible Duplicate: Is there a good Valgrind substitute for Windows? I need to debug
Possible Duplicate: Arguments in @selector This is probably a really simple question, but I
Possible Duplicate: Need to cancel click/mouseup events when double-click event detected Preventing double-click of
Possible Duplicate: In need of JavaScript Solution for Exporting table to Excel which works
Possible Duplicate: Do I need to disable NSLog before release Application? I wonder if
Possible Duplicate: Do I really need to do mysql_close() Maybe the first question to
Possible Duplicate: Why do we need apache under Node.js express web framework? I wonder
Possible Duplicate: Why XML-Serializable class need a parameterless constructor Does anyone know if it

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.