top button
Flag Notify
    Connect to us
      Site Registration

Site Registration

Converting a Text URL to hyperlink URL in PHP

+14 votes
25,162 views

Many a times we need to convert a url which is in http://tech.QueryHome.com to http://tech.QueryHome.com which requires the string to be converted in the following form <a href="http://tech.QueryHome.com">http://tech.QueryHome.com</a>.

Following are the steps to convert it without much effort -
Step 1: Suppose you are given a string called str which contains one or more URLs.
Step 2: Run the following command to convert URLs within the str to convert all URLs to hyperlink.

$newstr = preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1" >$1</a>', $str);

Step 3: If you need that your link should open into a new window/tab then

$newstr = preg_replace('@(https?://([-\w\.]+[-\w])+(:\d+)?(/([\w/_\.#-]*(\?\S+)?[^\.\s])?)?)@', '<a href="$1" target="_blank">$1</a>', $s);

Above steps covers only if your string is starting from http/ftp/scp what if the string is starting with www then

Step 2: Run the following command to convert URLs within the str to convert all URLs to hyperlink.

preg_replace('$(www\.[a-z0-9_./?=&-]+)(?![^<>]*>)$i', '<a href="http://$1">$1</a> ', $str);

Step 3: If you need that your link should open into a new window/tab then

preg_replace('$(www\.[a-z0-9_./?=&-]+)(?![^<>]*>)$i', '<a href="http://$1"  target="_blank">$1</a> ', $str);

Now there may be occasions when you want to add the rel=nofollow attribute to your links to indicate to the search engines that you don't "trust" the link. You can simply add rel="nofollow" to the second argument.

posted Dec 19, 2013 by Salil Agrawal

  Promote This Article
Facebook Share Button Twitter Share Button LinkedIn Share Button


Related Articles

While sharing something today we found that if url is some special character then third party API can have issues so thought to share with you so that it can benefit to everyone.

What is URL

URL means Uniform Resource Locator, which is nothing but a address of webpage i.e. http://tech.queryhome.com/

Why URL encoding is required

URLs is sent on TCP/IP using the ASCII character-set and if it contains some characters which are not in standard ASCII set, then its better to convert it into a ASCII format by adding "%" followed by two hexadecimal digits.

How to convert URL into Valid ASCII format

PHP

$url = "http://tech.queryhome.com"
$coded_url = urlencode($url)

Javascript
You have three options here

escape() will not encode: @*/+
encodeURI() will not encode: ~!@#$&*()=:/,;?+'
encodeURIComponent() will not encode: ~!*()'

Rails

require "erb"
include ERB::Util
puts url_encode("http://tech.queryhome.com")

URL Encoding Reference

space  %20
!      %21
"      %22
#      %23
$      %24
%      %25
&      %26
'      %27
(      %28
)      %29
*      %2A
+      %2B
,      %2C
-      %2D
.      %2E
/      %2F
0      %30
1      %31
2      %32
3      %33
4      %34
5      %35
6      %36
7      %37
8      %38
9      %39
:      %3A
;      %3B
<      %3C
=      %3D
>      %3E
?      %3F
@      %40
A      %41
B      %42
C      %43
D      %44
E      %45
F      %46
G      %47
H      %48
I      %49
J      %4A
K      %4B
L      %4C
M      %4D
N      %4E
O      %4F
P      %50
Q      %51
R      %52
S      %53
T      %54
U      %55
V      %56
W      %57
X      %58
Y      %59
Z      %5A
[      %5B
\      %5C
]      %5D
^      %5E
_      %5F
`      %60
a      %61
b      %62
c      %63
d      %64
e      %65
f      %66
g      %67
h      %68
i      %69
j      %6A
k      %6B
l      %6C
m      %6D
n      %6E
o      %6F
p      %70
q      %71
r      %72
s      %73
t      %74
u      %75
v      %76
w      %77
x      %78
y      %79
z      %7A
{      %7B
|      %7C
}      %7D
~      %7E
       %7F
`      %80
       %81
‚      %82
ƒ      %83
„      %84
…      %85
†      %86
‡      %87
ˆ      %88
‰      %89
Š      %8A
‹      %8B
Π     %8C
       %8D
Ž      %8E
       %8F
       %90
‘      %91
’      %92
“      %93
”      %94
•      %95
–      %96
—      %97
˜      %98
™      %99
š      %9A
›      %9B
œ      %9C
       %9D
ž      %9E
Ÿ      %9F
       %A0
¡      %A1
¢      %A2
£      %A3
¤      %A4
¥      %A5
¦      %A6
§      %A7
¨      %A8
©      %A9
ª      %AA
«      %AB
¬      %AC
       %AD
®      %AE
¯      %AF
°      %B0
±      %B1
²      %B2
³      %B3
´      %B4
µ      %B5
¶      %B6
·      %B7
¸      %B8
¹      %B9
º      %BA
»      %BB
¼      %BC
½      %BD
¾      %BE
¿      %BF
À      %C0
Á      %C1
      %C2
à     %C3
Ä      %C4
Å      %C5
Æ      %C6
Ç      %C7
È      %C8
É      %C9
Ê      %CA
Ë      %CB
Ì      %CC
Í      %CD
Î      %CE
Ï      %CF
Ð      %D0
Ñ      %D1
Ò      %D2
Ó      %D3
Ô      %D4
Õ      %D5
Ö      %D6
×      %D7
Ø      %D8
Ù      %D9
Ú      %DA
Û      %DB
Ü      %DC
Ý      %DD
Þ      %DE
ß      %DF
à      %E0
á      %E1
â      %E2
ã      %E3
ä      %E4
å      %E5
æ      %E6
ç      %E7
è      %E8
é      %E9
ê      %EA
ë      %EB
ì      %EC
í      %ED
î      %EE
ï      %EF
ð      %F0
ñ      %F1
ò      %F2
ó      %F3
ô      %F4
õ      %F5
ö      %F6
÷      %F7
ø      %F8
ù      %F9
ú      %FA
û      %FB
ü      %FC
ý      %FD
þ      %FE
ÿ      %FF
READ MORE
...