[jQuery] |Plugin| $('a').favicon()
Just thought of sharing this snippet that adds favicon next to the
selected links:
/**
* favicon - jQuery plugin for adding favicons next to the links
* To automate:
* a[href ^="http://jquery.com"] {
* background: url(http://jquery.com/favicon.ico) center right no-
repeat;
* padding-right: 16px;
* }
*
* January 30, 2008//R. Rajesh Jeba Anbiah//http://
rajeshanbiah.blogspot.com/
*
* Usage:
* - $('a').favicon(); - all links
* - $('a[@href^="http"]').favicon(); - all external links
* - $('a').favicon({paddingRight: '32px'}); - all links with
custom paddingRight
* @todo Document at http://rajeshanbiah.blogspot.com/
* <jsmin>
* $.fn.favicon=function(cssOptions){return this.each(function(){var
m=/(http:\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z]
(([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))(:(\d+))?)(\/(((([a-
zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[;:@&=])*)(\/((([a-zA-Z\d$\-_.+!
*'(),]|(%[a-fA-F\d]{2}))|[;:@&=])*))*)(\?((([a-zA-Z\d$\-_.+!*'(),]|(%
[a-fA-F\d]{2}))|[;:@&=])*))?)?)|(ftp:\/\/((((([a-zA-Z\d$\-_.+!*'(),]|(%
[a-fA-F\d]{2}))|[;?&=])*)(:((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|
[;?&=])*))?@)?((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z]
(([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))(:(\d+))?))(\/
(((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&=])*)(\/((([a-zA-Z\d$\-
_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&=])*))*)(;type=[AIDaid])?)?)|(news:
(((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[;\/&=])+@(((([a-zA-Z\d]
(([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z
\d])?))|((\d+)(\.(\d+)){3})))|([a-zA-Z]([a-zA-Z\d]|[_.+-])*)|\*))|
(nntp:\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z]
(([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))(:(\d+))?)\/([a-zA-
Z]([a-zA-Z\d]|[_.+-])*)(\/(\d+))?)|(telnet:\/\/((((([a-zA-Z\d$\-_.+!
*'(),]|(%[a-fA-F\d]{2}))|[;?&=])*)(:((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F
\d]{2}))|[;?&=])*))?@)?((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)
\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))(:(\d
+))?))\/?)|(gopher:\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)
\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))(:(\d
+))?)(\/([a-zA-Z\d$\-_.+!*'(),;\/@&=]|(%[a-fA-F\d]{2}))((([a-zA-Z\d$\-
_.+!*'(),;\/@&=]|(%[a-fA-F\d]{2}))*)(%09((([a-zA-Z\d$\-_.+!*'(),]|(%[a-
fA-F\d]{2}))|[;:@&=])*)(%09(([a-zA-Z\d$\-_.+!*'(),;\/@&=]|(%[a-fA-F\d]
{2}))*))?)?)?)?)|(wais:\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)
\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))(:(\d
+))?)\/(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))*)((\/(([a-zA-Z\d$\-_.
+!*'(),]|(%[a-fA-F\d]{2}))*)\/(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]
{2}))*))|\?((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[;:@&=])*))?)|
(mailto:(([a-zA-Z\d$\-_.+!*'(),;\/@&=]|(%[a-fA-F\d]{2}))+))|(file:\/\/
((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z
\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))|localhost)?\/(((([a-zA-Z\d$
\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&=])*)(\/((([a-zA-Z\d$\-_.+!*'(),]|(%
[a-fA-F\d]{2}))|[@&=])*))*))|(prospero:\/\/((((([a-zA-Z\d](([a-zA-Z
\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)
(\.(\d+)){3}))(:(\d+))?)\/(((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|
[@&=])*)(\/((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&=])*))*)((;
((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&])*)=((([a-zA-Z\d$\-_.+!
*'(),]|(%[a-fA-F\d]{2}))|[@&])*)))*)|(ldap:\/\/(((((([a-zA-Z\d](([a-zA-
Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)
(\.(\d+)){3}))(:(\d+))?))?\/((((((([a-zA-Z\d]|%(3\d|[46][a-fA-F\d]|[57]
[Aa\d]))|(%20))+|(OID|oid)\.((\d+)(\.(\d+))*))((%0[Aa])?
(%20)*)=((%0[Aa])?(%20)*))?(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]
{2}))*))(((%0[Aa])?(%20)*)\+((%0[Aa])?(%20)*)((((([a-zA-Z\d]|%(3\d|[46]
[a-fA-F\d]|[57][Aa\d]))|(%20))+|(OID|oid)\.((\d+)(\.(\d+))*))((%0[Aa])?
(%20)*)=((%0[Aa])?(%20)*))?(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]
{2}))*)))*)((((%0[Aa])?(%20)*)([;,])((%0[Aa])?(%20)*))(((((([a-zA-Z\d]|
%(3\d|[46][a-fA-F\d]|[57][Aa\d]))|(%20))+|(OID|oid)\.((\d+)(\.(\d+))*))
((%0[Aa])?(%20)*)=((%0[Aa])?(%20)*))?(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F
\d]{2}))*))(((%0[Aa])?(%20)*)\+((%0[Aa])?(%20)*)((((([a-zA-Z\d]|%(3\d|
[46][a-fA-F\d]|[57][Aa\d]))|(%20))+|(OID|oid)\.((\d+)(\.(\d+))*))
((%0[Aa])?(%20)*)=((%0[Aa])?(%20)*))?(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F
\d]{2}))*)))*))*(((%0[Aa])?(%20)*)([;,])((%0[Aa])?(%20)*))?)(\?(((([a-
zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))+)(,(([a-zA-Z\d$\-_.+!*'(),]|(%[a-
fA-F\d]{2}))+))*)?)(\?(base|one|sub)(\?((([a-zA-Z\d$\-_.+!*'(),;\/@&=]|
(%[a-fA-F\d]{2}))+)))?)?)?)|((z39\.50[rs]):\/\/((((([a-zA-Z\d](([a-zA-Z
\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)
(\.(\d+)){3}))(:(\d+))?)(\/((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))
+)(\+(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))+))*(\?(([a-zA-Z\d$\-_.
+!*'(),]|(%[a-fA-F\d]{2}))+))?)?(;esn=(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-
F\d]{2}))+))?(;rs=(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))+)(\+(([a-
zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))+))*)?))|(cid:((([a-zA-Z\d$\-_.+!
*'(),]|(%[a-fA-F\d]{2}))|[;@&=])*))|(mid:((([a-zA-Z\d$\-_.+!*'(),]|(%
[a-fA-F\d]{2}))|[;@&=])*)(\/((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]
{2}))|[;@&=])*))?)|(vemmi:\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z
\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))
(:(\d+))?)(\/((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[\/@&=])*)((;
((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[\/@&])*)=((([a-zA-Z\d$\-_.
+!*'(),]|(%[a-fA-F\d]{2}))|[\/@&])*))*))?)|(imap:\/\/((((((([a-zA-Z\d$
\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~])+)((;[Aa][Uu][Tt][Hh]=(\*|((([a-
zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~])+))))?)|((;[Aa][Uu][Tt]
[Hh]=(\*|((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~])+)))(((([a-
zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~])+))?))@)?((((([a-zA-Z\d]
(([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z
\d])?))|((\d+)(\.(\d+)){3}))(:(\d+))?))\/(((((([a-zA-Z\d$\-_.+!*'(),]|
(%[a-fA-F\d]{2}))|[&=~:@\/])+)?;[Tt][Yy][Pp][Ee]=([Ll]([Ii][Ss][Tt]|
[Ss][Uu][Bb])))|(((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~:@\/])
+)(\?((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~:@\/])+))?((;[Uu]
[Ii][Dd][Vv][Aa][Ll][Ii][Dd][Ii][Tt][Yy]=([1-9]\d*)))?)|(((([a-zA-Z\d$
\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~:@\/])+)((;[Uu][Ii][Dd][Vv][Aa][Ll]
[Ii][Dd][Ii][Tt][Yy]=([1-9]\d*)))?(\/;[Uu][Ii][Dd]=([1-9]\d*))((\/;[Ss]
[Ee][Cc][Tt][Ii][Oo][Nn]=((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|
[&=~:@\/])+)))?)))?)|(nfs:((\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z
\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))
(:(\d+))?)((\/((((([a-zA-Z\d\$\-_.!~*'(),])|(%[a-fA-F\d]{2})|[:@&=+])*)
(\/((([a-zA-Z\d\$\-_.!~*'(),])|(%[a-fA-F\d]{2})|[:@&=+])*))*)?)))?)|(\/
((((([a-zA-Z\d\$\-_.!~*'(),])|(%[a-fA-F\d]{2})|[:@&=+])*)(\/((([a-zA-Z
\d\$\-_.!~*'(),])|(%[a-fA-F\d]{2})|[:@&=+])*))*)?))|((((([a-zA-Z\d\$\-
_.!~*'(),])|(%[a-fA-F\d]{2})|[:@&=+])*)(\/((([a-zA-Z\d\$\-_.!~*'(),])|
(%[a-fA-F\d]{2})|[:@&=+])*))*)?)))/.exec(this.href);var css=
$.extend({paddingRight:'16px',backgroundImage:'url(http://'+m[2]+'/
favicon.ico)',backgroundRepeat:'no-repeat',backgroundPosition:'center
right'},cssOptions);$(this).css(css);});};
* </jsmin>
**/
$.fn.favicon = function(cssOptions) {
return this.each(function() {
/*
PHP helper to generate the following regexp
<?php
// Generate JavaScript regexp for matching URL for getting
host part
// set user agent; otherwise getting 403
ini_set('user_agent', 'Mozilla/5.0 (Windows; U; Windows NT
5.1; en-US; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11');
echo str_replace(array(
"\n", // remove newline
'/', // escape / to \/
'?:' // remove--we really need mach
) , array(
'',
'\/',
''
) , file_get_contents('http://web.archive.org/web/
20070302134659/foad.org/~abigail/Perl/url3.regex'));
?>
*/
// @todo Check: Not sure if it's the right way to get host
var m = /(http:\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)
\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))(:(\d
+))?)(\/(((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[;:@&=])*)(\/
((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[;:@&=])*))*)(\?((([a-zA-Z
\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[;:@&=])*))?)?)|(ftp:\/\/((((([a-zA-Z
\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[;?&=])*)(:((([a-zA-Z\d$\-_.+!*'(),]|
(%[a-fA-F\d]{2}))|[;?&=])*))?@)?((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z
\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))
(:(\d+))?))(\/(((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&=])*)(\/
((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&=])*))*)
(;type=[AIDaid])?)?)|(news:(((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]
{2}))|[;\/&=])+@(((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-
Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3})))|([a-zA-Z]([a-zA-
Z\d]|[_.+-])*)|\*))|(nntp:\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z
\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))
(:(\d+))?)\/([a-zA-Z]([a-zA-Z\d]|[_.+-])*)(\/(\d+))?)|(telnet:\/\/
((((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[;?&=])*)(:((([a-zA-Z\d$
\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[;?&=])*))?@)?((((([a-zA-Z\d](([a-zA-Z
\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)
(\.(\d+)){3}))(:(\d+))?))\/?)|(gopher:\/\/((((([a-zA-Z\d](([a-zA-Z
\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)
(\.(\d+)){3}))(:(\d+))?)(\/([a-zA-Z\d$\-_.+!*'(),;\/@&=]|(%[a-fA-F\d]
{2}))((([a-zA-Z\d$\-_.+!*'(),;\/@&=]|(%[a-fA-F\d]{2}))*)(%09((([a-zA-Z
\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[;:@&=])*)(%09(([a-zA-Z\d$\-_.+!
*'(),;\/@&=]|(%[a-fA-F\d]{2}))*))?)?)?)?)|(wais:\/\/((((([a-zA-Z\d]
(([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z
\d])?))|((\d+)(\.(\d+)){3}))(:(\d+))?)\/(([a-zA-Z\d$\-_.+!*'(),]|(%[a-
fA-F\d]{2}))*)((\/(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))*)\/(([a-
zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))*))|\?((([a-zA-Z\d$\-_.+!*'(),]|(%
[a-fA-F\d]{2}))|[;:@&=])*))?)|(mailto:(([a-zA-Z\d$\-_.+!*'(),;\/@&=]|(%
[a-fA-F\d]{2}))+))|(file:\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z
\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))|
localhost)?\/(((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&=])*)(\/
((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&=])*))*))|(prospero:\/\/
((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z
\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))(:(\d+))?)\/(((([a-zA-Z\d$\-
_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&=])*)(\/((([a-zA-Z\d$\-_.+!*'(),]|(%[a-
fA-F\d]{2}))|[@&=])*))*)((;((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|
[@&])*)=((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[@&])*)))*)|(ldap:
\/\/(((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z
\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))(:(\d+))?))?\/((((((([a-zA-Z
\d]|%(3\d|[46][a-fA-F\d]|[57][Aa\d]))|(%20))+|(OID|oid)\.((\d+)(\.(\d
+))*))((%0[Aa])?(%20)*)=((%0[Aa])?(%20)*))?(([a-zA-Z\d$\-_.+!*'(),]|(%
[a-fA-F\d]{2}))*))(((%0[Aa])?(%20)*)\+((%0[Aa])?(%20)*)((((([a-zA-Z\d]|
%(3\d|[46][a-fA-F\d]|[57][Aa\d]))|(%20))+|(OID|oid)\.((\d+)(\.(\d+))*))
((%0[Aa])?(%20)*)=((%0[Aa])?(%20)*))?(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F
\d]{2}))*)))*)((((%0[Aa])?(%20)*)([;,])((%0[Aa])?(%20)*))(((((([a-zA-Z
\d]|%(3\d|[46][a-fA-F\d]|[57][Aa\d]))|(%20))+|(OID|oid)\.((\d+)(\.(\d
+))*))((%0[Aa])?(%20)*)=((%0[Aa])?(%20)*))?(([a-zA-Z\d$\-_.+!*'(),]|(%
[a-fA-F\d]{2}))*))(((%0[Aa])?(%20)*)\+((%0[Aa])?(%20)*)((((([a-zA-Z\d]|
%(3\d|[46][a-fA-F\d]|[57][Aa\d]))|(%20))+|(OID|oid)\.((\d+)(\.(\d+))*))
((%0[Aa])?(%20)*)=((%0[Aa])?(%20)*))?(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F
\d]{2}))*)))*))*(((%0[Aa])?(%20)*)([;,])((%0[Aa])?(%20)*))?)(\?(((([a-
zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))+)(,(([a-zA-Z\d$\-_.+!*'(),]|(%[a-
fA-F\d]{2}))+))*)?)(\?(base|one|sub)(\?((([a-zA-Z\d$\-_.+!*'(),;\/@&=]|
(%[a-fA-F\d]{2}))+)))?)?)?)|((z39\.50[rs]):\/\/((((([a-zA-Z\d](([a-zA-Z
\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)
(\.(\d+)){3}))(:(\d+))?)(\/((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))
+)(\+(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))+))*(\?(([a-zA-Z\d$\-_.
+!*'(),]|(%[a-fA-F\d]{2}))+))?)?(;esn=(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-
F\d]{2}))+))?(;rs=(([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))+)(\+(([a-
zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))+))*)?))|(cid:((([a-zA-Z\d$\-_.+!
*'(),]|(%[a-fA-F\d]{2}))|[;@&=])*))|(mid:((([a-zA-Z\d$\-_.+!*'(),]|(%
[a-fA-F\d]{2}))|[;@&=])*)(\/((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]
{2}))|[;@&=])*))?)|(vemmi:\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z
\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))
(:(\d+))?)(\/((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[\/@&=])*)((;
((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[\/@&])*)=((([a-zA-Z\d$\-_.
+!*'(),]|(%[a-fA-F\d]{2}))|[\/@&])*))*))?)|(imap:\/\/((((((([a-zA-Z\d$
\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~])+)((;[Aa][Uu][Tt][Hh]=(\*|((([a-
zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~])+))))?)|((;[Aa][Uu][Tt]
[Hh]=(\*|((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~])+)))(((([a-
zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~])+))?))@)?((((([a-zA-Z\d]
(([a-zA-Z\d]|-)*[a-zA-Z\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z
\d])?))|((\d+)(\.(\d+)){3}))(:(\d+))?))\/(((((([a-zA-Z\d$\-_.+!*'(),]|
(%[a-fA-F\d]{2}))|[&=~:@\/])+)?;[Tt][Yy][Pp][Ee]=([Ll]([Ii][Ss][Tt]|
[Ss][Uu][Bb])))|(((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~:@\/])
+)(\?((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~:@\/])+))?((;[Uu]
[Ii][Dd][Vv][Aa][Ll][Ii][Dd][Ii][Tt][Yy]=([1-9]\d*)))?)|(((([a-zA-Z\d$
\-_.+!*'(),]|(%[a-fA-F\d]{2}))|[&=~:@\/])+)((;[Uu][Ii][Dd][Vv][Aa][Ll]
[Ii][Dd][Ii][Tt][Yy]=([1-9]\d*)))?(\/;[Uu][Ii][Dd]=([1-9]\d*))((\/;[Ss]
[Ee][Cc][Tt][Ii][Oo][Nn]=((([a-zA-Z\d$\-_.+!*'(),]|(%[a-fA-F\d]{2}))|
[&=~:@\/])+)))?)))?)|(nfs:((\/\/((((([a-zA-Z\d](([a-zA-Z\d]|-)*[a-zA-Z
\d])?)\.)*([a-zA-Z](([a-zA-Z\d]|-)*[a-zA-Z\d])?))|((\d+)(\.(\d+)){3}))
(:(\d+))?)((\/((((([a-zA-Z\d\$\-_.!~*'(),])|(%[a-fA-F\d]{2})|[:@&=+])*)
(\/((([a-zA-Z\d\$\-_.!~*'(),])|(%[a-fA-F\d]{2})|[:@&=+])*))*)?)))?)|(\/
((((([a-zA-Z\d\$\-_.!~*'(),])|(%[a-fA-F\d]{2})|[:@&=+])*)(\/((([a-zA-Z
\d\$\-_.!~*'(),])|(%[a-fA-F\d]{2})|[:@&=+])*))*)?))|((((([a-zA-Z\d\$\-
_.!~*'(),])|(%[a-fA-F\d]{2})|[:@&=+])*)(\/((([a-zA-Z\d\$\-_.!~*'(),])|
(%[a-fA-F\d]{2})|[:@&=+])*))*)?)))/.exec(this.href);
// console.log(m); // Result for "http://en.wikipedia.org/wiki/
AJAX": ["http://en.wikipedia.org/wiki/AJAX", "http://en.wikipedia.org/
wiki/AJAX", "en.wikipedia.org", "en.wikipedia.org",
"en.wikipedia.org", "wikipedia.", "wikipedia", "ikipedia", "i", "org",
"rg", "r", undefined, undefined, undefined, undefined, undefined,
undefined, "/wiki/AJAX", "wiki/AJAX", "wiki", "i", "i", undefined, "/
AJAX", "AJAX", "X", "X", undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined, undefined,
undefined, undefined, undefined, undefined, undefined]
var css = $.extend( {
paddingRight: '16px',
backgroundImage: 'url(http://' + m[2] + '/favicon.ico)',
backgroundRepeat: 'no-repeat',
backgroundPosition: 'center right'
}, cssOptions);
$(this).css(css);
});
};
--
<?php echo 'Just another PHP saint'; ?>
Email: rrjanbiah-at-Y!com Blog: http://rajeshanbiah.blogspot.com/