PHP 7.1.12 Released
> -> ch
chp' Chp' onchp' <"/doc.chp'ed hp'>ed">ch.listopt.php' Brazili/dtP Japaneseopt.php' Ro.pnipnopt.php' Ruphppnopt.php' iv class="p/fieldset/a> sskey="s"> id="goto"> ditc="f'uiv classprev"> s://ditcref="http?fs.>Cla=ef=hp?t=p.o.=php.net/manual/en/function.Eitcd_query rev"> s://"f'sref="httprrs.ph.php."f'_> ef="/docs.php+fs.typmhp?t=.pn"san=.net/manual/en/fun">ors.ph a Bug"24" alt=" rm> fdocry" meddiv> f typdivavbar-h1> f typ"> serinfv> (ef='4,.php 5,.php 7)opp>-p> fpurposd="fspan> f typ"> — fspan> dc-net/f">P URL span> fspan> methov typ"> L span> alt=( fspan> methovxt op="fspan> > strp'>Tespan> f d-top">ch option">$tleL span> alt[, fspan> methovxt op="fspan> > i'>Kespan> f d-top">ch option">$manuonentLspan> =deviceizon"> = -1.pspan>opspan> al] )div> ch o rdfs-al/e?inet/man Itopocia Imagybar of ic. al/e p> ch oavbar
?inet/man t>? empher.s> not meaearg sn" idle bar ic. g ksp/t up i'>o ic. abo inet/man"> L span> trpesp/ts besarg bar p> <> fsdli1 xt optionsve/div fsdli1-inet/manual/en/fun-xt optionsvvbar-h3> et/f">Pt options ah3vbar-p d-top">ch oavbar /a>ch option">tleL e)ch oavbar ar _.a> sspvbar aocus s alt=ery sionsch option">manuonentL e)ch oavbar ar er.phpy one of d ref=_='r_SCHEMEL strong>,bar ar d ref=_='r_HOSTL strong>, d ref=_='r_PORTL strong>,bar ar d ref=_='r_USERL strong>, d ref=_='r_PASSL strong>,bar ar d ref=_='r_PATHL strong>, d ref=_='r_QUERYL strong>bar ar or d ref=_='r_FRAGMENTL strong>eto retrpebar ar ='remanuonent.php' fspan> >
  • ction. > strp'> strp'>TeURL span> (al/en/ whenbar ar d ref=_='r_PORTL strong> t>?g Ifspan> >
  • manug'r i'>ug'rTeURL span>).a> sspvbar aocus s alt=ery sions p> <> fsdli1 retur.n" nasve/div fsdli1-inet/manual/en/fun-retur.n" nasvvbar-h3> et/f">Retur.pV" nas ah3vbar-p d-top">ch oavbar On se/e inet/man"> L span> maynretur.bar d rFALSEL strong>./ul> p> ch oavbar If ic. d d-top">ch option">manuonent xt option t>?os.php',p'>bar topocia >
  • PHt one hpment will bebar ssidocms.ph=d ic. array. Po >Preizodltio>
  • ltio>Preavbar afspan> utorh oavbar ar sar typ"> sar typ">scamp; - e.g. bar aocspan> alt=pport">Helpa> ltio>Preavbar afspan> utorh oavbar ar sar typ"> sar typ">host bar aocspan> alt=pport">Helpa> ltio>Preavbar afspan> utorh oavbar ar sar typ"> sar typ">er Encsar>bar aocspan> alt=pport">Helpa> ltio>Preavbar afspan> utorh oavbar ar sar typ"> sar typ">us'rTesar>bar aocspan> alt=pport">Helpa> ltio>Preavbar afspan> utorh oavbar ar sar typ"> sar typ">p Tesar>bar aocspan> alt=pport">Helpa> ltio>Preavbar afspan> utorh oavbar ar sar typ"> sar typ">p thTesar>bar aocspan> alt=pport">Helpa> ltio>Preavbar afspan> utorh oavbar ar sar typ"> sar typ">uo; h - afion ic. uo;s/man mark ?bar aocspan> alt=pport">Helpa> ltio>Preavbar afspan> utorh oavbar ar sar typ"> sar typ">fragment - afion ic. herhmark #bar aocspan> alt=pport">He p> ch oavbar If ic. d d-top">ch option">manuonent xt option t>?sr.php'p',bar fspan> inet/man"> L span> retur.hp' fspan> >
  • ction. > strp'> strp'>TeURL span> (or anbar fspan> >
  • manug'r i'>ug'rTeURL span>th=d ic. cad ref=_='r_PORTL strong>)bar inionad of '>Ifspan> >
  • d rNULLL strong> will bepretur. d.bar> p> <> fsdli1 chp' et/f">Chp'ch oavbar /trtype bar a aote>Vnectsebar a aote>Dion/opensebar a "l.ar arbar a aotd>5.4.7bar a aotd>bar a a Fnavb? empher.s> host recogdeviTP ahen? empher.s> scamp;bar aar i>?os.php'e.phpa '>P Charmanuonent.sech oton t>?essidoc.bar y bar a bar a aotd>5.3.3bar a aotd>bar a a Rem.net ic. dstrong>d rE_WARNINGL strong>ethah wphpes.php'eahen?='rbar a a al/eload.ail d.bar y bar a bar a aotd>5.1.2bar a aotd>Addet ic. d d-top">ch option">manuonent xt option.bar a vbar bar p> <> fsdli1 exaoriasve/div fsdli1-inet/manual/en/fun-exaoriasvvbar-h3> et/f">Exaorias ah3vbar-p d-top">ch oavbar /a="goto"> dxaoriave/divdxaoria-4715>
    Exaoria #1 A fspan> inet/man"> L span> dxaoriaL p/a> id="goto"> dxaoria-> chp ">d rfspan>://frt"> lor: #000000k/dlspan>://frt"> lor: #0000BB"><?chp
    $tle .pspan>ospan>://frt"> lor: #007700k/= .pspan>ospan>://frt"> lor: #DD0000k/' ospan>://frt"> lor: #007700k/;

    ospan>://frt"> lor: #0000BB">sar_dump.pspan>ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB"> ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB">$tleospan>://frt"> lor: #007700k/));
    ospan>://frt"> lor: #0000BB">sar_dump.pspan>ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB"> ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB">$tleospan>://frt"> lor: #007700k/, .pspan>ospan>://frt"> lor: #0000BB">ef=_='r_SCHEMEospan>://frt"> lor: #007700k/));
    ospan>://frt"> lor: #0000BB">sar_dump.pspan>ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB"> ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB">$tleospan>://frt"> lor: #007700k/, .pspan>ospan>://frt"> lor: #0000BB">ef=_='r_USERospan>://frt"> lor: #007700k/));
    ospan>://frt"> lor: #0000BB">sar_dump.pspan>ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB"> ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB">$tleospan>://frt"> lor: #007700k/, .pspan>ospan>://frt"> lor: #0000BB">ef=_='r_PASSospan>://frt"> lor: #007700k/));
    ospan>://frt"> lor: #0000BB">sar_dump.pspan>ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB"> ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB">$tleospan>://frt"> lor: #007700k/, .pspan>ospan>://frt"> lor: #0000BB">ef=_='r_HOSTospan>://frt"> lor: #007700k/));
    ospan>://frt"> lor: #0000BB">sar_dump.pspan>ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB"> ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB">$tleospan>://frt"> lor: #007700k/, .pspan>ospan>://frt"> lor: #0000BB">ef=_='r_PORTospan>://frt"> lor: #007700k/));
    ospan>://frt"> lor: #0000BB">sar_dump.pspan>ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB"> ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB">$tleospan>://frt"> lor: #007700k/, .pspan>ospan>://frt"> lor: #0000BB">ef=_='r_PATHospan>://frt"> lor: #007700k/));
    ospan>://frt"> lor: #0000BB">sar_dump.pspan>ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB"> ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB">$tleospan>://frt"> lor: #007700k/, .pspan>ospan>://frt"> lor: #0000BB">ef=_='r_QUERYospan>://frt"> lor: #007700k/));
    ospan>://frt"> lor: #0000BB">sar_dump.pspan>ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB"> ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB">$tleospan>://frt"> lor: #007700k/, .pspan>ospan>://frt"> lor: #0000BB">ef=_='r_FRAGMENTospan>://frt"> lor: #007700k/));
    ospan>://frt"> lor: #0000BB">?>.pspan> .pspan> .p >L e iiv> dxaoria-> Tc. abo- id="goto"> dxaoria-> cmanuk/iprps [&/sec;scamp;&/sec;]=>a> strp'>(4) &/sec; <&/sec;a> [&/sec;host&/sec;]=>a> strp'>(8) &/sec; ost typ&/sec;a> [&/sec;er E&/sec;]=>a> int(9090)a> [&/sec;us'r&/sec;]=>a> strp'>(8) &/sec;us'r typ&/sec;a> [&/sec;eo">&/sec;]=>a> strp'>(8) &/sec;p word&/sec;a> [&/sec;eoth&/sec;]=>a> strp'>(5) &/sec;/eoth&/sec;a> [&/sec;uo; h&/sec;]=>a> strp'>(9) &/sec;arg=n" na&/sec;a> [&/sec;fragment&/sec;]=>a> strp'>(6) &/sec;anchor&/sec;a} strp'>(4) &/sec; <&/sec;astrp'>(8) &/sec;us'r typ&/sec;astrp'>(8) &/sec;p word&/sec;astrp'>(8) &/sec; ost typ&/sec;aint(9090)astrp'>(5) &/sec;/eoth&/sec;astrp'>(9) &/sec;arg=n" na&/sec;astrp'>(6) &/sec;anchor&/sec;aoppr >L e iiv> iiv> > p> ch oavbar /a="goto"> dxaoriave/divdxaoria-4716>
    Exaoria #2 A fspan> inet/man"> L span> dxaoriams.phpmihp'>Imscamp;L p/a> id="goto"> dxaoria-> chp ">d rfspan>://frt"> lor: #000000k/dlspan>://frt"> lor: #0000BB"><?chp
    $tle .pspan>ospan>://frt"> lor: #007700k/= .pspan>ospan>://frt"> lor: #DD0000k/'ml xmldxaoria/man/p th?googleguy=googley'.pspan>ospan>://frt"> lor: #007700k/;

    ospan>://frt"> lor: #FF8000k/// Prior to 5.4.7 this would "hid the eoth as "ml xmldxaoria/man/p th"
    ospan>://frt"> lor: #0000BB">sar_dump.pspan>ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB"> ospan>://frt"> lor: #007700k/(ospan>://frt"> lor: #0000BB">$tleospan>://frt"> lor: #007700k/));
    ospan>://frt"> lor: #0000BB">?>.pspan> .pspan> .p >L e iiv> dxaoria-> Tc. abo- id="goto"> dxaoria-> cmanuk/iprps [&/sec;host&/sec;]=>a> strp'>(15) &/sec; xmldxaoria/man&/sec;a> [&/sec;eoth&/sec;]=>a> strp'>(5) &/sec;/eoth&/sec;a> [&/sec;uo; h&/sec;]=>a> strp'>(17) &/sec;googleguy=googley&/sec;a} oppr >L e iiv> iiv> > p> <> fsdli1 ns.phve/div fsdli1-inet/manual/en/fun-ns.phvvbar-h3> et/f">Ns.php'h3vbar-block/secu ecuk/ip>: bar

    ch oavbar

    ?inet/man mayn ec g p>: bar

    ch oavbar

    ?inet/man t>?i'>undet sr.php'>ally eic. purposd of al/eload'boobar .php ec URIs. However,eto manuly authenti's backwarddtmanua bilitybar reuoirpments i n p> fsdli1 seealsove/div fsdli1-inet/manual/en/fun-seealsovvbar-h3> et/f">See Also ah3vbar-p d-top">ch oavbar /-toggle"> utorialtio>
  • membon">fspan> inet/man"> - Retur.hpinfvrma/res abouh a .php'p thTespan>oport">Helpa> membon">fspan> inet/man"> - P i'>o vp'>Predefispan>oport">Helpa> membon">fspan> inet/man"> - Processl 'bo-en d uo; htstrp'>Tespan>oport">Helpa> membon">fspan> inet/man"> - Retur.hpa al/ent.di sctory's'p thTespan>oport">Helpa> membon">fspan> inet/man"> - Retur.hptraipload typrmanuonent.of althTespan>oport">Helpa> membon">frev"> tml xmlfaqs="httrfcstrfc3986b. f lteexnual/l">& rawur RFC 3986"/support">He p> <> /sdling.p/divus'r s.phvvba>
    at/man"> e
    fsmall>addpa s.pTesmall>TeURL span>bar-h3> et/f">varias.phpibuhp'eNs.phr/span> couliav74 ns.phTespan>oph3vba> rm> ecuk ar-r"> vs.phvvbar "clearfix"Vu106731">bar "crev"> e
    up"24" alt=" bar "crev"> e
    bar "92 alt=" #106731"e typ">tur/strong us'rn. em>thomphp'c g elfeldt.dotrmanL a> #106731"> &ch o;L a>5 yeago agoL > bl>chp ">d rfspan>v> [If you haven't yet] bcss rtype>o fiphpa utorial> vnectse backe>o strp'> frompa al/sp'efun, here'fine alaoria:

    fspan> d" hrefla<?chp

    $tle ospan> keyword">= ospan> strp'> 'frev"> tmlusr:pss@dxaoria/man:81/myalth/myfs.fiv.w3?a=bhp?t=b[]=2hp?t=b[]=3#myfragment"e IE 9nofollow rearg _blankvv tmlusr:pss@dxaoria/man:81/myalth/myfs.fiv.w3?a=bhp?t=b[]=2hp?t=b[]=3#myfragmentL a>'ospan> keyword">;
    if (ospan> d" hrefla$tle ospan> keyword">=== ospan> d" hreflaun ospan> keyword">(ospan> d" hrefla ospan> keyword">(ospan> d" hrefla$tleospan> keyword">))) {
      prp't ospan> strp'> "YES, ic.y match!\n"ospan> keyword">;
    }

    inet/man ospan> d" hreflaun ospan> keyword">(ospan> d" hrefla$al/sp'itleospan> keyword">) {
      ospan> d" hrefla$scamp;   ospan> keyword">= isset(ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'scamp;'ospan> keyword">]) ? ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'scamp;'ospan> keyword">] . ospan> strp'> 'tml' ospan> keyword">: ospan> strp'> ''ospan> keyword">;
      ospan> d" hrefla$host     ospan> keyword">= isset(ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'host'ospan> keyword">]) ? ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'host'ospan> keyword">] : ospan> strp'> ''ospan> keyword">;
      ospan> d" hrefla$er E     ospan> keyword">= isset(ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'er E'ospan> keyword">]) ? ospan> strp'> 't' ospan> keyword">. ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'er E'ospan> keyword">] : ospan> strp'> ''ospan> keyword">;
      ospan> d" hrefla$us'r     ospan> keyword">= isset(ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'us'r'ospan> keyword">]) ? ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'us'r'ospan> keyword">] : ospan> strp'> ''ospan> keyword">;
      ospan> d" hrefla$eo">     ospan> keyword">= isset(ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'eo">'ospan> keyword">]) ? ospan> strp'> 't' ospan> keyword">. ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'eo">'ospan> keyword">]  : ospan> strp'> ''ospan> keyword">;
      ospan> d" hrefla$eo">     ospan> keyword">= (ospan> d" hrefla$tariaospan> keyword">|| ospan> d" hrefla$eo">ospan> keyword">) ? ospan> strp'> "ospan> d" hrefla$eo">ospan> strp'> @" ospan> keyword">: ospan> strp'> ''ospan> keyword">;
      ospan> d" hrefla$eoth     ospan> keyword">= isset(ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'eoth'ospan> keyword">]) ? ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'eoth'ospan> keyword">] : ospan> strp'> ''ospan> keyword">;
      ospan> d" hrefla$uo; h    ospan> keyword">= isset(ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'uo; h'ospan> keyword">]) ? ospan> strp'> '?' ospan> keyword">. ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'uo; h'ospan> keyword">] : ospan> strp'> ''ospan> keyword">;
      ospan> d" hrefla$fragment ospan> keyword">= isset(ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'fragment'ospan> keyword">]) ? ospan> strp'> '#' ospan> keyword">. ospan> d" hrefla$al/sp'itleospan> keyword">[ospan> strp'> 'fragment'ospan> keyword">] : ospan> strp'> ''ospan> keyword">;
      retur.pospan> strp'> "ospan> d" hrefla$scamp;$tari$eo">$host$er E$eoth$uo; h$fragmentL span>ospan> strp'> "ospan> keyword">;
    }

    ospan> d" hrefla?>.pspan> .pspan> .p >L e L e L e ecuk ar-r"> vs.phvvbar "clearfix"Vu114817">bar "crev"> e
    up"24" alt=" bar "crev"> e
    bar "18 alt=" #114817"e typ">tur/strong us'rn. em>lauris () lauris ! lvL a> #114817">a&ch o;L a>3 yeago agoL > bl>chp ">d rfspan>v> Here is utf-8tmanua bhp'p Crd 'boo autheus'r:p . Also made.php 5.5tmanua bhp'(gotrrid of now dep scle anregex /led ahp'pr).

    d" hrefla<?chp

        ospan> al/e     * UTF-8taware e      *
         * @retur.parrayTbr />     */
        ospan> keyword">inet/man ospan> d" hreflamb_ ospan> keyword">(ospan> d" hrefla$tle
    ospan> keyword">)
        {
            ospan> d" hrefla$enc_tle ospan> keyword">= ospan> d" hrefla reg_rrssear_>allbackospan> keyword">(
                ospan> strp'> '%[^:/@?hp?t==#]+%usD'ospan> keyword">,
                inet/man (ospan> d" hrefla$matche>ospan> keyword">)
                {
                    retur.pospan> d" hreflaurlen ospan> keyword">(ospan> d" hrefla$matche>ospan> keyword">[ospan> d" hrefla0ospan> keyword">]);
                },
                ospan> d" hrefla$tle
            ospan> keyword">);
           
            ospan> d" hrefla$xt ts ospan> keyword">= ospan> d" hrefla ospan> keyword">(ospan> d" hrefla$enc_tleospan> keyword">);
           
            if(ospan> d" hrefla$al/ts ospan> keyword">=== ospan> d" hreflafals ospan> keyword">)
            {
                throw new \ospan> d" hreflainv" idArg"/dochp'>Predeospan> keyword">(ospan> strp'> 'Malkey=rd 'bo: ' ospan> keyword">. ospan> d" hrefla$tleospan> keyword">);
            }
           
            keyeach(ospan> d" hrefla$al/ts ospan> keyword">as ospan> d" hrefla$ typrospan> keyword">=> ospan> d" hrefla$n" naospan> keyword">)
            {
                ospan> d" hrefla$al/tsospan> keyword">[ospan> d" hrefla$ typospan> keyword">] = ospan> d" hreflau ospan> keyword">(ospan> d" hrefla$n" naospan> keyword">);
            }
           
            retur.pospan> d" hrefla$al/tsospan> keyword">;
        }

    ospan> d" hrefla?>.pspan> .pspan> .p >L e L e L e ecuk ar-r"> vs.phvvbar "clearfix"Vu116520">bar "crev"> e
    up"24" alt=" bar "crev"> e
    bar "13 alt=" #116520"e typ">tur/strong us'rn. em>jeroypr'c chaL a> #116520">a&ch o;L a>2 yeago agoL > bl>chp ">d rfspan>v> It maynbe phptheremin Charthah tdeen" na of ic. #fragment never gein seearg sic. srefs.u  Anchor>?ese.php'>Imis al/lusivel> .p >L e L e L e ecuk ar-r"> vs.phvvbar "clearfix"Vu96433">bar "crev"> e
    up"24" alt=" bar "crev"> e
    bar "18 alt=" #96433"e typ">tur/strong us'rn. em>jtyphp'c roundg" wis.dotrmanL a> #96433">a&ch o;L a>7 yeago agoL > bl>chp ">d rfspan>v> I wphpwri.php.uniargests aphp eedet iormaus;eicis inet/man iorkick ouh an errioinehpretur.pFALSEh=d ordon iorgest a sr.php'> alecu/man th. If anyone hs;e eedse>o forct a .ailure,eic. mollowp'> i'puts will php.:

    fspan> d" hrefla<?chp
    ospan> keyword">(ospan> strp'> " tml/dxaoria/man"e IE 9nofollow rearg _blankvv tml/dxaoria/manL a>"ospan> keyword">);
    ospan> d" hrefla ospan> keyword">(ospan> strp'> " tml:80"e IE 9nofollow rearg _blankvv tml:80L a>"ospan> keyword">);
    ospan> d" hrefla ospan> keyword">(ospan> strp'> " tmlus'r@:80"e IE 9nofollow rearg _blankvv tmlus'r@:80L a>"ospan> keyword">);
    ospan> d" hrefla?>.pspan> .pspan> .p >L e L e L e ecuk ar-r"> vs.phvvbar "clearfix"Vu114704">bar "crev"> e
    up"24" alt=" bar "crev"> e
    bar "8 alt=" #114704"e typ">tur/strong us'rn. em>ivij/dtdotrst" hnp'c gen/r.dotrmanL a> #114704">a&ch o;L a>3 yeago agoL > bl>chp ">d rfspan>v> Here'fin good wpye>o up'>Im <dt>?inet/man Ieus'dh=d mney php.s:<br /><br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hrefla ubl</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,p<pspan>ospan> d" hrefla$/php-<pspan>ospan> keyword">=<pspan>ospan> d" hrefla560<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$vg" wi<pspan>ospan> keyword">=<pspan>ospan> d" hrefla315<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$fullse.css<pspan>ospan> keyword">=<pspan>ospan> d" hreflatrna</span>ospan> keyword">)<br />{<br />    <pspan>ospan> d" hrefla <tistr</span>ospan> keyword">( <pspan>ospan> d" hrefla <title</span>ospan> keyword">( <pspan>ospan> d" hrefla$tle<pspan>ospan> keyword">,p<pspan>ospan> d" hreflaef=_='r_QUERY <pspan>ospan> keyword">),p<pspan>ospan> d" hrefla$my_array_of_vago </span>ospan> keyword">);<br />    <pspan>ospan> d" hrefla$ ubl</span>ospan> keyword">= <pspan>ospan> strp'> '<if opt allowtransal/ency rna" se.ollp'> e"s/php-l"'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$/php-<pspan>ospan> keyword">.<pspan>ospan> strp'> '"svg" wid"'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$vg" wi<pspan>ospan> keyword">.<pspan>ospan> strp'> '"ss="b"ml xml ubl/man/embod/'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$my_array_of_vago</span>ospan> keyword">[<pspan>ospan> strp'> 'v'<pspan>ospan> keyword">].<pspan>ospan> strp'> '"sf optbordon="0"'<pspan>ospan> keyword">.(<pspan>ospan> d" hrefla$fullse.css<pspan>ospan> keyword">?<pspan>ospan> strp'> ' allowfullse.css'<pspan>ospan> keyword">:<pspan>ospan> d" hreflaNULL</span>ospan> keyword">).<pspan>ospan> strp'> '></if opt>'<pspan>ospan> keyword">;<br />    retur.p<pspan>ospan> d" hrefla$ ubl</span>ospan> keyword">;<br />}<br /><br /><pspan>ospan> al/e<liav// "hid ubl an my psan<br /><pspan>ospan> d" hrefla$tle<pspan>ospan> keyword">=<pspan>ospan> strp'> 'frev"> tml xml ubl/man/watch?v=yvTd6XxgCBE"e IE 9nofollow rearg _blankvv tml xml ubl/man/watch?v=yvTd6XxgCBEL a>'<pspan>ospan> keyword">;<br /> <pspan>ospan> d" hrefla ubl</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,p<pspan>ospan> d" hrefla560<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla315<pspan>ospan> keyword">,p<pspan>ospan> d" hreflatrna</span>ospan> keyword">);<br /><pspan>ospan> d" hrefla?>.br /><pspan>obr /> <title () allocle fin uniqu. ubl and  put i'>o if opt f ltenehpdisplaysd an r psan. <deesiza of ic. videos choosd rself.<br /><br />Enjoy..pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d108787">ar-r"> vs.phvvbar "clearfix"Vu108787">bar "crev"> e <dd><avs.p-ns.p.php.fix108787hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd108787">bar "crev"> e <dd><avs.p-ns.p.php.fix108787hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV108787"eases/fe63% lik;eicis...">bar "3 alt=" </ul" </ul"rev"> #108787"e typ">tur/strong us'rn. em>l <zlo.dotrjanszkyp'c gen/r.dotrman</em></strong>L a><re gs tnchor"ev"> #108787">a&ch o;L a><lear dink reses/fe2012-05-24 08:20"><strong>5 yeago ago</strong>L </form> > <l </dHman108787">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Creahp'e.pef='rm <title utf-8tmanua bhp'.net/manu<br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflamb_ <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">) {<br />    <pspan>ospan> d" hrefla$en dUle <pspan>ospan> keyword">= <pspan>ospan> d" hrefla reg_rrssear</span>ospan> keyword">(<pspan>ospan> strp'> '%[^:/?#hp?t==\.]+%usD;'<pspan>ospan> keyword">,p<pspan>ospan> strp'> 'urlen (\'$0\')'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$tle<pspan>ospan> keyword">);<br />    <pspan>ospan> d" hrefla$manuonents <pspan>ospan> keyword">= <pspan>ospan> d" hrefla <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$enc dUle<pspan>ospan> keyword">);<br />    keyeach (<pspan>ospan> d" hrefla$manuonents <pspan>ospan> keyword">as hp?t=<pspan>ospan> d" hrefla$manuonent</span>ospan> keyword">)<br />        <pspan>ospan> d" hrefla$manuonent.<pspan>ospan> keyword">= <pspan>ospan> d" hreflau </span>ospan> keyword">(<pspan>ospan> d" hrefla$manuonent</span>ospan> keyword">);<br />    retur.p<pspan>ospan> d" hrefla$manuonents</span>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?>.pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d100114">ar-r"> vs.phvvbar "clearfix"Vu100114">bar "crev"> e <dd><avs.p-ns.p.php.fix100114hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd100114">bar "crev"> e <dd><avs.p-ns.p.php.fix100114hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV100114"eases/fe63% lik;eicis...">bar "5 alt=" </ul" </ul"rev"> #100114"e typ">tur/strong us'rn. em>jesspr'c dxaoria dotrman</em></strong>L a><re gs tnchor"ev"> #100114">a&ch o;L a><lear dink reses/fe2010-09-25 07:48"><strong>7 yeago ago</strong>L </form> > <l </dHman100114">bl></dd-top">chp ">d rfspan>v> </nav.w3.> @ solenoid: Y r wphpv; hthelpful, but it .ailseahen?ic. cur/ent.='rehphpno uo; htstrp'> (it appends 'hp?t=' inionad of '?' bekeye ic. uo;ry)u  Belowmis a .pavb?vnectse thah catche>eicis edg. ca<t nehp/oo scts i .<br /><br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflam ahpyitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$m a</span>ospan> keyword">) <br />{ <br />    <pspan>ospan> d" hrefla$tle.<pspan>ospan> keyword">= <pspan>ospan> strp'> "<rev"> tml"e IE 9nofollow rearg _blankvv tmlL a>"<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$_SERVER</span>ospan> keyword">[<pspan>ospan> strp'> 'HTTP_HOST'<pspan>ospan> keyword">].<pspan>ospan> d" hrefla$_SERVER</span>ospan> keyword">[<pspan>ospan> strp'> 'REQUEST_URI'<pspan>ospan> keyword">]; <br />    <pspan>ospan> d" hrefla$uo; ht<pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "hp?t="<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$_SERVER</span>ospan> keyword">[<pspan>ospan> strp'> 'QUERY_STRING'<pspan>ospan> keyword">]);<br />    if (!<pspan>ospan> d" hrefla$_SERVER</span>ospan> keyword">[<pspan>ospan> strp'> 'QUERY_STRING'<pspan>ospan> keyword">]) {<pspan>ospan> d" hrefla$uo; hSeart.<pspan>ospan> keyword">= <pspan>ospan> strp'> "?"<pspan>ospan> keyword">;} hs;e{<pspan>ospan> d" hrefla$uo; hSeart.<pspan>ospan> keyword">= <pspan>ospan> strp'> "hp?t="<pspan>ospan> keyword">;}<br />    <pspan>ospan> al/e<liav// m ahpy/delecu sata <br />    <pspan>ospan> keyword">ieyeach(<pspan>ospan> d" hrefla$uo; ht<pspan>ospan> keyword">as <pspan>ospan> d" hrefla$q</span>ospan> keyword">) <br />    { <br />        ltio(<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">) = <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "="<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$q</span>ospan> keyword">); <br />        if(<pspan>ospan> d" hreflaarray_key_extios</span>ospan> keyword">(<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$m a</span>ospan> keyword">)) <br />        { <br />            if(<pspan>ospan> d" hrefla$m a</span>ospan> keyword">[<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">]) <br />            { <br />                <pspan>ospan> d" hrefla$tle.<pspan>ospan> keyword">= <pspan>ospan> d" hrefla reg_rrssear</span>ospan> keyword">(<pspan>ospan> strp'> '/'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">.<pspan>ospan> strp'> '='<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">.<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">.<pspan>ospan> strp'> '='<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$m a</span>ospan> keyword">[<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">],p<pspan>ospan> d" hrefla$tle<pspan>ospan> keyword">); <br />            } <br />            hs;e<br />            { <br />                <pspan>ospan> d" hrefla$tle.<pspan>ospan> keyword">= <pspan>ospan> d" hrefla reg_rrssear</span>ospan> keyword">(<pspan>ospan> strp'> '/hp?t=?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">.<pspan>ospan> strp'> '='<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">.<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> strp'> ''<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$tle<pspan>ospan> keyword">); <br />            } <br />        } <br />    } <br />    <pspan>ospan> al/e<liav// addpnew sata <br />    <pspan>ospan> keyword">ieyeach(<pspan>ospan> d" hrefla$m at<pspan>ospan> keyword">as <pspan>ospan> d" hrefla$keyr<pspan>ospan> keyword">=> <pspan>ospan> d" hrefla$n" na</span>ospan> keyword">) <br />    { <br />        if(<pspan>ospan> d" hrefla$n" na </span>ospan> keyword">hp?t=hp?t= !<pspan>ospan> d" hrefla reg_match</span>ospan> keyword">(<pspan>ospan> strp'> '/'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">.<pspan>ospan> strp'> '=/'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">)) <br />        { <br />            <pspan>ospan> d" hrefla$tle.<pspan>ospan> keyword">.= <pspan>ospan> d" hrefla$uo; hSeart<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">.<pspan>ospan> strp'> '='<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">; <br />        } <br />    } <br />    retur.p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?>.pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d95304">ar-r"> vs.phvvbar "clearfix"Vu95304">bar "crev"> e <dd><avs.p-ns.p.php.fix95304hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd95304">bar "crev"> e <dd><avs.p-ns.p.php.fix95304hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV95304"eases/fe60% lik;eicis...">bar "2 alt=" </ul" </ul"rev"> #95304"e typ">tur/strong us'rn. em> eed_sunnyp'c yahoo.dotrman</em></strong>L a><re gs tnchor"ev"> #95304">a&ch o;L a><lear dink reses/fe2009-12-25 05:57"><strong>7 yeago ago</strong>L </form> > <l </dHman95304">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Thankse>o xellisx ecis <tiuo; ht.net/manu Ieus'dh=th=d ona of my projscts nehp=thphp.s well. But it hphpan erriou Ie.pavb?ic. errioinehpimprov'dh=tha lites/ bit. Here is my vnectse of it:<br /><br /><span> d" hrefla<?chp<br /><pspan>ospan> al/e<liav// Originally ariteen by xellisx<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hrefla <tiuo; h</span>ospan> keyword">(<pspan>ospan> d" hrefla$var</span>ospan> keyword">)<br /> {<br />  <pspan>ospan> al/e<liav/**<br />   *  Us;eicis inet/man ior <t ouh ic. uo;ryparray hrment iran<br />   *  ic. oNon-T of al/etitle().<br />   */<br />  <pspan>ospan> d" hrefla$var  <pspan>ospan> keyword">= <pspan>ospan> d" hrefla <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$var</span>ospan> keyword">,p<pspan>ospan> d" hreflaef=_='r_QUERY<pspan>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$var  <pspan>ospan> keyword">= <pspan>ospan> d" hreflav.w3_entity_ </span>ospan> keyword">(<pspan>ospan> d" hrefla$n"r</span>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$var  <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$n"r</span>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$arr  <pspan>ospan> keyword">= array();<br /><br />  ieyeach(<pspan>ospan> d" hrefla$n"rt<pspan>ospan> keyword">as <pspan>ospan> d" hrefla$n" </span>ospan> keyword">)<br />   {<br />    <pspan>ospan> d" hrefla$x          <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$n" </span>ospan> keyword">);<br />    <pspan>ospan> d" hrefla$arr</span>ospan> keyword">[<pspan>ospan> d" hrefla$x</span>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">]] = <pspan>ospan> d" hrefla$x</span>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">];<br />   }<br />  unset(<pspan>ospan> d" hrefla$n" </span>ospan> keyword">,p<pspan>ospan> d" hrefla$x</span>ospan> keyword">,p<pspan>ospan> d" hrefla$n"r</span>ospan> keyword">);<br />  retur.p<pspan>ospan> d" hrefla$arr</span>ospan> keyword">;<br /> }<br /><pspan>ospan> d" hrefla?>.br /><pspan>obr />Ateic. marst f le ic.r wphp <tiuo; h($n" ), Iemade.=th$n"ru Iteus'dhiorretur.pa nullparray bekeye icis iix.<br /><br />I have addvb?ic. <title f le. So now ic. mnet/man will only cuhpin ic. uo;rypal/t,p ec ic. wholl 'bo. <dt>?is useful if something lik;ebelowmis dona:<br /><span> d" hrefla<?chp<br />$my_GET <pspan>ospan> keyword">= <pspan>ospan> d" hrefla <tiuo; h</span>ospan> keyword">(<pspan>ospan> d" hrefla$_SERVER</span>ospan> keyword">[<pspan>ospan> strp'> 'REQUEST_URI'<pspan>ospan> keyword">]);<br /><pspan>ospan> d" hrefla?>.pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d116456">ar-r"> vs.phvvbar "clearfix"Vu116456">bar "crev"> e <dd><avs.p-ns.p.php.fix116456hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd116456">bar "crev"> e <dd><avs.p-ns.p.php.fix116456hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV116456"eases/fe57% lik;eicis...">bar "5 alt=" </ul" </ul"rev"> #116456"e typ">tur/strong us'rn. em>adminp'c griefer1999.dotruhostfull.dotrman</em></strong>L a><re gs tnchor"ev"> #116456">a&ch o;L a><lear dink reses/fe2015-01-06 06:46"><strong>2 yeago ago</strong>L </form> > <l </dHman116456">bl></dd-top">chp ">d rfspan>v> </nav.w3.> <span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflafun_ <t</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">){<br /><pspan>ospan> d" hrefla$sflfdfldf<pspan>ospan> keyword">=<pspan>ospan> d" hrefla$tle</span>ospan> keyword">;<br />if(<pspan>ospan> d" hreflastrpos</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> strp'> "?"<pspan>ospan> keyword">)>-<pspan>ospan> d" hrefla1<pspan>ospan> keyword">){<br /><pspan>ospan> d" hrefla$a<pspan>ospan> keyword">=<pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "?"<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> d" hrefla2</span>ospan> keyword">);<br /><pspan>ospan> d" hrefla$tle</span>ospan> keyword">=<pspan>ospan> d" hrefla$a<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">];<br /><pspan>ospan> d" hrefla$uo; h</span>ospan> keyword">=<pspan>ospan> d" hrefla$a<pspan>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">];<br />}<br />if(<pspan>ospan> d" hreflastrpos</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> strp'> "tml"<pspan>ospan> keyword">)>-<pspan>ospan> d" hrefla1<pspan>ospan> keyword">){<br /><pspan>ospan> d" hrefla$scamp;</span>ospan> keyword">=<pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,<pspan>ospan> d" hreflastrpos</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> strp'> "ml"<pspan>ospan> keyword">)-<pspan>ospan> d" hrefla1<pspan>ospan> keyword">);<br /><pspan>ospan> d" hrefla$tle</span>ospan> keyword">=<pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> d" hreflastrpos</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> strp'> "ml"<pspan>ospan> keyword">)+<pspan>ospan> d" hrefla2</span>ospan> keyword">,<pspan>ospan> d" hreflastrlss<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">));<br />}<br />if(<pspan>ospan> d" hreflastrpos</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> strp'> "l"<pspan>ospan> keyword">)>-<pspan>ospan> d" hrefla1<pspan>ospan> keyword">){<br /><pspan>ospan> d" hrefla$a<pspan>ospan> keyword">=<pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "l"<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> d" hrefla2</span>ospan> keyword">);<br /><pspan>ospan> d" hrefla$tle</span>ospan> keyword">=<pspan>ospan> d" hrefla$a<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">];<br /><pspan>ospan> d" hrefla$ th</span>ospan> keyword">=<pspan>ospan> strp'> "l"<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$a<pspan>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">];<br />}<br />if(<pspan>ospan> d" hreflastrpos</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> strp'> "t"<pspan>ospan> keyword">)>-<pspan>ospan> d" hrefla1<pspan>ospan> keyword">){<br /><pspan>ospan> d" hrefla$a<pspan>ospan> keyword">=<pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "t"<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,<pspan>ospan> d" hrefla2</span>ospan> keyword">);<br /><pspan>ospan> d" hrefla$tle</span>ospan> keyword">=<pspan>ospan> d" hrefla$a<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">];<br /><pspan>ospan> d" hrefla$ ort<pspan>ospan> keyword">=<pspan>ospan> d" hrefla$a<pspan>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">];<br />}<br /><pspan>ospan> d" hrefla$host<pspan>ospan> keyword">=<pspan>ospan> d" hrefla$tle</span>ospan> keyword">;<br /><pspan>ospan> d" hrefla$tle</span>ospan> keyword">=<pspan>ospan> d" hreflanull</span>ospan> keyword">;<br />ieyeach(array(<pspan>ospan> strp'> "tle"<pspan>ospan> keyword">,<pspan>ospan> strp'> "scamp;"<pspan>ospan> keyword">,<pspan>ospan> strp'> "host"<pspan>ospan> keyword">,<pspan>ospan> strp'> " ort"<pspan>ospan> keyword">,<pspan>ospan> strp'> " th"<pspan>ospan> keyword">,<pspan>ospan> strp'> "uo; h"<pspan>ospan> keyword">) as <pspan>ospan> d" hrefla$n"r</span>ospan> keyword">){<br />if(!empty($<pspan>ospan> d" hrefla$n"r</span>ospan> keyword">)){<br /><pspan>ospan> d" hrefla$retur.<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$n"r</span>ospan> keyword">]=$<pspan>ospan> d" hrefla$n"r</span>ospan> keyword">;<br />}<br />}<br /><pspan>ospan> al/e<liav//retur.parray("tle"=>$sflfdfldf,"scamp;"=>$scamp;,"host"=>$host," ort"=>$ ort," th"=>$ th,"uo; h"=>$uo; h,"a"=>$tle);<br /><pspan>ospan> keyword">retur.p<pspan>ospan> d" hrefla$retur.<pspan>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?>.br /><pspan>obr />ospan> d" hrefla<?chp<br /><pspan>ospan> al/e<liav/* Canuaye iwo oNon-Ts */<br />//minn<br /><pspan>ospan> d" hreflaprp't_r</span>ospan> keyword">(<pspan>ospan> d" hreflafun_ <t</span>ospan> keyword">(<pspan>ospan> strp'> "<rev"> tmllogin.yahoo/man?.s="bymhp?t=.p'tl=gbhp?t=.lang=zh-Hans-HKhp?t=.dona= stmlen/r.yahoo/man"e IE 9nofollow rearg _blankvv tmllogin.yahoo/man?.s="bymhp?t=.p'tl=gbhp?t=.lang=zh-Hans-HKhp?t=.dona= stmlen/r.yahoo/manL a>"<pspan>ospan> keyword">));<br /><pspan>ospan> al/e<liav//p'ternal<br /><pspan>ospan> d" hreflaprp't_r</span>ospan> keyword">(<pspan>ospan> d" hrefla <title</span>ospan> keyword">(<pspan>ospan> strp'> "<rev"> tmllogin.yahoo/man?.s="bymhp?t=.p'tl=gbhp?t=.lang=zh-Hans-HKhp?t=.dona= stmlen/r.yahoo/man"e IE 9nofollow rearg _blankvv tmllogin.yahoo/man?.s="bymhp?t=.p'tl=gbhp?t=.lang=zh-Hans-HKhp?t=.dona= stmlen/r.yahoo/manL a>"<pspan>ospan> keyword">));<br /><pspan>ospan> d" hrefla?>.pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d93983">ar-r"> vs.phvvbar "clearfix"Vu93983">bar "crev"> e <dd><avs.p-ns.p.php.fix93983hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd93983">bar "crev"> e <dd><avs.p-ns.p.php.fix93983hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV93983"eases/fe58% lik;eicis...">bar "3 alt=" </ul" </ul"rev"> #93983"e typ">tur/strong us'rn. em> irazuelosp'c gen/r.dotrman</em></strong>L a><re gs tnchor"ev"> #93983">a&ch o;L a><lear dink reses/fe2009-10-09 02:45"><strong>8 yeago ago</strong>L </form> > <l </dHman93983">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Hello, esome odhpreason, <title retur.n ic. host (ex. dxaoria/man) as ic. theahen?no scamp;mis provid'dh=d ic. i'put tle. So I've ariteen a quick inet/man iorg ic. real host: <br /> <br />fspan> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflag Host<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$Addres></span>ospan> keyword">) { <br />   <pspan>ospan> d" hrefla$ <tUle <pspan>ospan> keyword">= <pspan>ospan> d" hrefla <title</span>ospan> keyword">(<pspan>ospan> d" hreflatrpm<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$Addres></span>ospan> keyword">)); <br />   retur.p<pspan>ospan> d" hreflatrpm<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$ <tUle<pspan>ospan> keyword">[<pspan>ospan> d" hreflahost<pspan>ospan> keyword">] ? <pspan>ospan> d" hrefla$ <tUle<pspan>ospan> keyword">[<pspan>ospan> d" hreflahost<pspan>ospan> keyword">] : <pspan>ospan> d" hreflaarray_shift<pspan>ospan> keyword">(<pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$ <tUle<pspan>ospan> keyword">[<pspan>ospan> d" hrefla th</span>ospan> keyword">],p<pspan>ospan> d" hrefla2</span>ospan> keyword">))); <br />} <br /> <br />fpspan>ospan> d" hreflag Host<pspan>ospan> keyword">(<pspan>ospan> strp'> "dxaoria/man"</span>ospan> keyword">); <pspan>ospan> al/e<liav// Gives dxaoria/man <br />fpspan>ospan> d" hreflag Host<pspan>ospan> keyword">(<pspan>ospan> strp'> "<rev"> tmldxaoria/man"e IE 9nofollow rearg _blankvv tmldxaoria/manL a>"<pspan>ospan> keyword">); <pspan>ospan> al/e<liav// Gives dxaoria/man <br />fpspan>ospan> d" hreflag Host<pspan>ospan> keyword">(<pspan>ospan> strp'> " xmldxaoria/man"</span>ospan> keyword">); <pspan>ospan> al/e<liav// Gives xmldxaoria/man <br />fpspan>ospan> d" hreflag Host<pspan>ospan> keyword">(<pspan>ospan> strp'> "<rev"> tmldxaoria/man/xyz"e IE 9nofollow rearg _blankvv tmldxaoria/man/xyzL a>"<pspan>ospan> keyword">); <pspan>ospan> al/e<liav// Gives dxaoria/man <br />fpspan>ospan> d" hrefla?> <br />fpspan> <br />Yourmauld trypanything! Itegives ic. host (inclu Charthe subdoen/n if extios). <br /> <br />Hope.=thhelp'dhyou..pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d90365">ar-r"> vs.phvvbar "clearfix"Vu90365">bar "crev"> e <dd><avs.p-ns.p.php.fix90365hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd90365">bar "crev"> e <dd><avs.p-ns.p.php.fix90365hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV90365"eases/fe58% lik;eicis...">bar "2 alt=" </ul" </ul"rev"> #90365"e typ">tur/strong us'rn. em>theoriginalmarksimpsonp'c gen/r.dotrman</em></strong>L a><re gs tnchor"ev"> #90365">a&ch o;L a><lear dink reses/fe2009-04-17 05:08"><strong>8 yeago ago</strong>L </form> > <l </dHman90365">bl></dd-top">chp ">d rfspan>v> </nav.w3.> An updinkrg sic. inet/man by FredLudhp'c gen/r.dotrmanu  I addvb?IPv6 inet/manality as well.<br /><br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaj_ <tUle<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">) {<br />  <pspan>ospan> d" hrefla$r  <pspan>ospan> keyword">= <pspan>ospan> strp'> "(?:([a-z0-9+-._]+)tml)?"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.=   <pspan>ospan> strp'> "(?:((?:[a-z0-9-._~!$hp?t='()*+,;=:]|%[0-9a-f]{2})*)@)?"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.=   <pspan>ospan> strp'> "(?:\[((?:[a-z0-9:])*)\])?"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.=   <pspan>ospan> strp'> "((?:[a-z0-9-._~!$hp?t='()*+,;=]|%[0-9a-f]{2})*)"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.=   <pspan>ospan> strp'> "(?::(\d*))?"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.=   <pspan>ospan> strp'> "(/(?:[a-z0-9-._~!$hp?t='()*+,;=:@/]|%[0-9a-f]{2})*)?"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.=   <pspan>ospan> strp'> "|"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.=   <pspan>ospan> strp'> "(/?"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.=     <pspan>ospan> strp'> "(?:[a-z0-9-._~!$hp?t='()*+,;=:@]|%[0-9a-f]{2})+"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.=     <pspan>ospan> strp'> "(?:[a-z0-9-._~!$hp?t='()*+,;=:@\/]|%[0-9a-f]{2})*"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.=    <pspan>ospan> strp'> ")?"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.= <pspan>ospan> strp'> ")"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:\?((?:[a-z0-9-._~!$hp?t='()*+,;=:\/?@]|%[0-9a-f]{2})*))?"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla$r.<pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:#((?:[a-z0-9-._~!$hp?t='()*+,;=:\/?@]|%[0-9a-f]{2})*))?"<pspan>ospan> keyword">;<br />  <pspan>ospan> d" hrefla reg_match</span>ospan> keyword">(<pspan>ospan> strp'> "`<pspan>ospan> d" hrefla$r<pspan>ospan> strp'> `i"<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,p<pspan>ospan> d" hrefla$match</span>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$al/ts <pspan>ospan> keyword">= array(<br />            <pspan>ospan> strp'> "scamp;"<pspan>ospan> keyword">=>.pspan>ospan> strp'> ''<pspan>ospan> keyword">,<br />            <pspan>ospan> strp'> "us'rinfo"<pspan>ospan> keyword">=>.pspan>ospan> strp'> ''<pspan>ospan> keyword">,<br />            <pspan>ospan> strp'> "authority"<pspan>ospan> keyword">=>.pspan>ospan> strp'> ''<pspan>ospan> keyword">,<br />            <pspan>ospan> strp'> "host"<pspan>ospan> keyword">=> <pspan>ospan> strp'> ''<pspan>ospan> keyword">,<br />            <pspan>ospan> strp'> " ort"<pspan>ospan> keyword">=>.pspan>ospan> strp'> ''<pspan>ospan> keyword">,<br />            <pspan>ospan> strp'> " th"<pspan>ospan> keyword">=>.pspan>ospan> strp'> ''<pspan>ospan> keyword">,<br />            <pspan>ospan> strp'> "uo; h"<pspan>ospan> keyword">=>.pspan>ospan> strp'> ''<pspan>ospan> keyword">,<br />            <pspan>ospan> strp'> "frage<lia<pspan>ospan> keyword">=>.pspan>ospan> strp'> ''<pspan>ospan> keyword">);<br />  switch (<pspan>ospan> d" hreflacount.<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$match</span>ospan> keyword">)) {<br />    ca<t <pspan>ospan> d" hrefla10<pspan>ospan> keyword">: <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">] = <pspan>ospan> d" hrefla$match</span>ospan> keyword">[<pspan>ospan> d" hrefla9<pspan>ospan> keyword">];<br />    ca<t <pspan>ospan> d" hrefla9<pspan>ospan> keyword">: <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] = <pspan>ospan> d" hrefla$match</span>ospan> keyword">[<pspan>ospan> d" hrefla8<pspan>ospan> keyword">];<br />    ca<t <pspan>ospan> d" hrefla8<pspan>ospan> keyword">: <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> ' th'<pspan>ospan> keyword">] =  <pspan>ospan> d" hrefla$match</span>ospan> keyword">[<pspan>ospan> d" hrefla7<pspan>ospan> keyword">];<br />    ca<t <pspan>ospan> d" hrefla7<pspan>ospan> keyword">: <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> ' th'<pspan>ospan> keyword">] =  <pspan>ospan> d" hrefla$match</span>ospan> keyword">[<pspan>ospan> d" hrefla6<pspan>ospan> keyword">] . <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> ' th'<pspan>ospan> keyword">];<br />    ca<t <pspan>ospan> d" hrefla6<pspan>ospan> keyword">: <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">] =  <pspan>ospan> d" hrefla$match</span>ospan> keyword">[<pspan>ospan> d" hrefla5<pspan>ospan> keyword">];<br />    ca<t <pspan>ospan> d" hrefla5<pspan>ospan> keyword">: <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] =  <pspan>ospan> d" hrefla$match</span>ospan> keyword">[<pspan>ospan> d" hrefla3<pspan>ospan> keyword">]?<pspan>ospan> strp'> "["<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$match</span>ospan> keyword">[<pspan>ospan> d" hrefla3<pspan>ospan> keyword">].<pspan>ospan> strp'> "]"<pspan>ospan> keyword">:<pspan>ospan> d" hrefla$match</span>ospan> keyword">[<pspan>ospan> d" hrefla4<pspan>ospan> keyword">];<br />    ca<t <pspan>ospan> d" hrefla4<pspan>ospan> keyword">: <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'rinfo'<pspan>ospan> keyword">] =  <pspan>ospan> d" hrefla$match</span>ospan> keyword">[<pspan>ospan> d" hrefla2</span>ospan> keyword">];<br />    ca<t <pspan>ospan> d" hrefla3<pspan>ospan> keyword">: <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">] =  <pspan>ospan> d" hrefla$match</span>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">];<br />  }<br />  <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'authority'<pspan>ospan> keyword">] = (<pspan>ospan> d" hrefla$ ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'rinfo'<pspan>ospan> keyword">]?<pspan>ospan> d" hrefla$ ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'rinfo'<pspan>ospan> keyword">].<pspan>ospan> strp'> "@"<pspan>ospan> keyword">:<pspan>ospan> strp'> ""<pspan>ospan> keyword">).<br />                         <pspan>ospan> d" hrefla$al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">].<br />                        (<pspan>ospan> d" hrefla$ ts<pspan>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]?<pspan>ospan> strp'> ":"<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$ ts<pspan>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]:<pspan>ospan> strp'> ""<pspan>ospan> keyword">);<br />  retur.p<pspan>ospan> d" hrefla$ ts<pspan>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?>.br /><pspan>obr />When?usCharthe tle<br /><br />  /* f le ioo long eicis site's al/e<li handler */<br />  "foo://us'r ame:p word@[2001:4860:0:2001::68]:8042".<br />      "/over/ic.r /index.dtb;type=animal? ame=ferret#nose"<br /><br />Tc. original wauld retur.<br /><br />Array<br />(<br />    [scamp;] => foo<br />    [us'rinfo] => us'r ame:p word<br />    [authority] => us'r ame:p word@<br />    [host] => <br />    [ ort] => <br />    [ th] => <br />    [uo; h] => <br />    [frage<li] => <br />)<br /><br />Tc. new ona retur.n<br /><br />Array<br />(<br />    [scamp;] => foo<br />    [us'rinfo] => us'r ame:p word<br />    [authority] => us'r ame:p word@[2001:4860:0:2001::68]:8042<br />    [host] => [2001:4860:0:2001::68]<br />    [ ort] => 8042<br />    [ th] => /over/ic.r /index.dtb;type=animal<br />    [uo; h] => ame=ferret<br />    [frage<li] => nose<br />)<br /><br />All of ic. oic.r dxaorias FredLudhpus'dhbelowmstill work dxactlyrthe same..pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d97496">ar-r"> vs.phvvbar "clearfix"Vu97496">bar "crev"> e <dd><avs.p-ns.p.php.fix97496hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd97496">bar "crev"> e <dd><avs.p-ns.p.php.fix97496hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV97496"eases/fe55% lik;eicis...">bar "1 alt=" </ul" </ul"rev"> #97496"e typ">tur/strong us'rn. em>solenoihp'c dxaoria.dotrman</em></strong>L a><re gs tnchor"ev"> #97496">a&ch o;L a><lear dink reses/fe2010-04-22 04:05"><strong>7 yeago ago</strong>L </form> > <l </dHman97496">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Here's a pieca of eic'c m ahpies, rrssears or rrmoves ic. tle uo; h. <dt>?can>typically us'dh=n psaCharsitua/manseahere ic.r aye meye ch ometers ican ic. ge. <br /> <br />fspan> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflam ahpyitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$m a</span>ospan> keyword">) <br />{ <br />    <pspan>ospan> d" hrefla$tle.<pspan>ospan> keyword">= <pspan>ospan> strp'> "<rev"> tml"e IE 9nofollow rearg _blankvv tmlL a>"<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$_SERVER</span>ospan> keyword">[<pspan>ospan> strp'> 'HTTP_HOST'<pspan>ospan> keyword">].<pspan>ospan> d" hrefla$_SERVER</span>ospan> keyword">[<pspan>ospan> strp'> 'REQUEST_URI'<pspan>ospan> keyword">]; <br />    <pspan>ospan> d" hrefla$uo;ryp<pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "hp?t="<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$_SERVER</span>ospan> keyword">[<pspan>ospan> strp'> 'QUERY_STRING'<pspan>ospan> keyword">]); <br />    <pspan>ospan> al/e<liav// m ahpy/delecu sata <br />    <pspan>ospan> keyword">ieyeach(<pspan>ospan> d" hrefla$uo;ryp<pspan>ospan> keyword">as <pspan>ospan> d" hrefla$q</span>ospan> keyword">) <br />    { <br />        list(<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">) = <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "="<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$q</span>ospan> keyword">); <br />        if(<pspan>ospan> d" hreflaarray_key_extios</span>ospan> keyword">(<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$m a</span>ospan> keyword">)) <br />        { <br />            if(<pspan>ospan> d" hrefla$m a</span>ospan> keyword">[<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">]) <br />            { <br />                <pspan>ospan> d" hrefla$tle.<pspan>ospan> keyword">= <pspan>ospan> d" hrefla reg_rrssear</span>ospan> keyword">(<pspan>ospan> strp'> '/'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">.<pspan>ospan> strp'> '='<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">.<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">.<pspan>ospan> strp'> '='<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$m a</span>ospan> keyword">[<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">],p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">); <br />            } <br />            else <br />            { <br />                <pspan>ospan> d" hrefla$tle.<pspan>ospan> keyword">= <pspan>ospan> d" hrefla reg_rrssear</span>ospan> keyword">(<pspan>ospan> strp'> '/hp?t=?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">.<pspan>ospan> strp'> '='<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">.<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> strp'> ''<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">); <br />            } <br />        } <br />    } <br />    <pspan>ospan> al/e<liav// add new sata <br />    <pspan>ospan> keyword">ieyeach(<pspan>ospan> d" hrefla$m ap<pspan>ospan> keyword">as <pspan>ospan> d" hrefla$key.<pspan>ospan> keyword">=> <pspan>ospan> d" hrefla$n" na</span>ospan> keyword">) <br />    { <br />        if(<pspan>ospan> d" hrefla$n" na.<pspan>ospan> keyword">hp?t=hp?t= !<pspan>ospan> d" hrefla reg_match</span>ospan> keyword">(<pspan>ospan> strp'> '/'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">.<pspan>ospan> strp'> '=/'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">)) <br />        { <br />            <pspan>ospan> d" hrefla$tle.<pspan>ospan> keyword">.= <pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">.<pspan>ospan> strp'> '='<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">; <br />        } <br />    } <br />    retur.p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">; <br />} <br /> <br />fpspan>ospan> al/e<liav// ge tle: "<rev"> tml xmldxaoria/man/ ge.php.p=5hp?t=show=listhp?t=style=23"e IE 9nofollow rearg _blankvv tml xmldxaoria/man/ ge.php.p=5hp?t=show=listhp?t=style=23L a>" <br /> <br />fpspan>ospan> d" hrefla$tle.<pspan>ospan> keyword">= <pspan>ospan> d" hreflam ahpyitle</span>ospan> keyword">(array(<pspan>ospan> strp'> 'p'.<pspan>ospan> keyword">=> <pspan>ospan> d" hrefla4<pspan>ospan> keyword">,p<pspan>ospan> strp'> 'show'.<pspan>ospan> keyword">=> <pspan>ospan> strp'> 'column'<pspan>ospan> keyword">)); <br /> <br />fpspan>ospan> al/e<liav// $tle.= "<rev"> tml xmldxaoria/man/ ge.php.p=4hp?t=show=columnhp?t=style=23"e IE 9nofollow rearg _blankvv tml xmldxaoria/man/ ge.php.p=4hp?t=show=columnhp?t=style=23L a>" <br /><pspan>ospan> d" hrefla?>.pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d112571">ar-r"> vs.phvvbar "clearfix"Vu112571">bar "crev"> e <dd><avs.p-ns.p.php.fix112571hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd112571">bar "crev"> e <dd><avs.p-ns.p.php.fix112571hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV112571"eases/fe54% lik;eicis...">bar "1 alt=" </ul" </ul"rev"> #112571"e typ">tur/strong us'rn. em>utilmind</em></strong>L a><re gs tnchor"ev"> #112571">a&ch o;L a><lear dink reses/fe2013-07-01 12:06"><strong>4 yeago ago</strong>L </form> > <l </dHman112571">bl></dd-top">chp ">d rfspan>v> </nav.w3.> <title doesn't works if ic. rotocol doesn't spechpied. <dt>?seems lik;esandard, even ic. youtube doesn't gives ic. rotocol typeahen?gs erinks e eembed Charwhich have a look lik;e"//youtube/man/etc".<br /><br />So,rg savoihpbug, you must always heck,eaheic.r ic. rovid'dhtle has ic. rotocol, and if ec (stl/ts with 2 s> <hes) -- add ic. t" reiix.<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d121718">ar-r"> vs.phvvbar "clearfix"Vu121718">bar "crev"> e <dd><avs.p-ns.p.php.fix121718hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd121718">bar "crev"> e <dd><avs.p-ns.p.php.fix121718hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV121718"eases/fe100% lik;eicis...">bar "1 alt=" </ul" </ul"rev"> #121718"e typ">tur/strong us'rn. em>jdael</em></strong>L a><re gs tnchor"ev"> #121718">a&ch o;L a><lear dink reses/fe2017-10-03 07:23"><strong>1 month ago</strong>L </form> > <l </dHman121718">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Heremis an updinkrg sic. g naitle() inet/man. <br /><br />It?can>now handlee IEative URLs if only ' th'mis provid'd. <br /><br />ospan> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflag naitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">) { <br />    if (!<pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">)) { <br />        retur.p<pspan>ospan> d" hreflafal<t</span>ospan> keyword">; <br />    } <br /><br />    <pspan>ospan> d" hrefla$tli.<pspan>ospan> keyword">= isset(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$ <ta</span>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.((<pspan>ospan> d" hreflastrtolower</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) == <pspan>ospan> strp'> 'en/rto'<pspan>ospan> keyword">) ? <pspan>ospan> strp'> ''.<pspan>ospan> keyword">: <pspan>ospan> strp'> '//'<pspan>ospan> keyword">) : <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$tli.<pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$ <ta</span>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">].(isset(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">).<pspan>ospan> strp'> '@'.<pspan>ospan> keyword">: <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$tli.<pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$ <ta</span>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$tli.<pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br /><br />    if (isset(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">])) { <br />        <pspan>ospan> d" hrefla$tli.<pspan>ospan> keyword">.= (<pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">],p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) ? <br />            <pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] : ((!empty(<pspan>ospan> d" hrefla$tli<pspan>ospan> keyword">) ? <pspan>ospan> strp'> '/'.<pspan>ospan> keyword">: <pspan>ospan> strp'> ''.<pspan>ospan> keyword">) . <pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]); <br />    } <br /><br />    <pspan>ospan> d" hrefla$tli.<pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$tli.<pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '#'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/ena</span>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br /><br />    retur.p<pspan>ospan> d" hrefla$tli<pspan>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?>.br /><pspan>up<br />s="""br /><br />orev"> stmlforum.jdael.netl"e IE 9nofollow rearg _blankvv stmlforum.jdael.netlL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d121392">ar-r"> vs.phvvbar "clearfix"Vu121392">bar "crev"> e <dd><avs.p-ns.p.php.fix121392hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd121392">bar "crev"> e <dd><avs.p-ns.p.php.fix121392hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV121392"eases/fe100% lik;eicis...">bar "1 alt=" </ul" </ul"rev"> #121392"e typ">tur/strong us'rn. em>zappascriptsp'c gen/r.man</em></strong>L a><re gs tnchor"ev"> #121392">a&ch o;L a><lear dink reses/fe2017-07-17 01:30"><strong>4 montho ago</strong>L </form> > <l </dHman121392">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Here's a simple>v> </ I ma eic'c makes us' of icis p <title.<br />I need'dha waye ea ge to retn/n g ch ometers but also edit or add ont sic.m. <br />I also hadesome geseic'c need'dhthe same GET ch omaters so I also addvb?a wayet schange ic. th.<br /><br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">v> </ <pspan>ospan> d" hreflaP ths</span>ospan> keyword">{<br /><br />    privinkr<pspan>ospan> d" hrefla$tle</span>ospan> keyword">;<br />    public inet/man <pspan>ospan> d" hrefla__construct<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">){<br />        <pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflatle.<pspan>ospan> keyword">= <pspan>ospan> d" hrefla <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">);<br />    }<br />    <br />    public inet/man <pspan>ospan> d" hreflaretur.Ule<pspan>ospan> keyword">(){<br />        <pspan>ospan> d" hrefla$retur.p<pspan>ospan> keyword">= <pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflatle</span>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">].<pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflatle</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">];<br />        <pspan>ospan> d" hrefla$retur.p<pspan>ospan> keyword">= (<pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$retur.<pspan>ospan> keyword">,-<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> "hp?t="<pspan>ospan> keyword">)? <pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$retur.<pspan>ospan> keyword">,<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,-<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) : <pspan>ospan> d" hrefla$retur.<pspan>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflaresetQo; h<pspan>ospan> keyword">();<br />        retur.p<pspan>ospan> d" hrefla$retur.<pspan>ospan> keyword">;<br />    }<br />    <br />    public inet/man <pspan>ospan> d" hreflachangeP th</span>ospan> keyword">(<pspan>ospan> d" hrefla$alth</span>ospan> keyword">){<br />        <pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflatle</span>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] = <pspan>ospan> d" hrefla$alth</span>ospan> keyword">;<br />    }<br />    <br />    public inet/man <pspan>ospan> d" hreflaeditQo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$g <pspan>ospan> keyword">,<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">){<br />        <pspan>ospan> d" hrefla$al/ts <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "hp?t="<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflatle</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]);<br />        <pspan>ospan> d" hrefla$retur.p<pspan>ospan> keyword">= <pspan>ospan> strp'> ""<pspan>ospan> keyword">;<br />        ieyeach(<pspan>ospan> d" hrefla$al/ts <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$p</span>ospan> keyword">){<br />            <pspan>ospan> d" hrefla$al/amData <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "="<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$p</span>ospan> keyword">);<br />            if(<pspan>ospan> d" hrefla$al/amData</span>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">] == <pspan>ospan> d" hrefla$g <pspan>ospan> keyword">){<br />                <pspan>ospan> d" hrefla$al/amData</span>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">] = <pspan>ospan> d" hrefla$n" na</span>ospan> keyword">;<br />            }<br />            <pspan>ospan> d" hrefla$retur.p<pspan>ospan> keyword">.= <pspan>ospan> d" hreflaimpl </span>ospan> keyword">(<pspan>ospan> strp'> "="<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$pl/amData</span>ospan> keyword">).<pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">;<br />            <br />        }<br />        <br />        <pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflatle</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] = <pspan>ospan> d" hrefla$retur.<pspan>ospan> keyword">;<br />    }<br />    <br />    public inet/man <pspan>ospan> d" hreflaaddQo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$g <pspan>ospan> keyword">,<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">){<br />        <pspan>ospan> d" hrefla$al/tp<pspan>ospan> keyword">= <pspan>ospan> d" hrefla$g <pspan>ospan> keyword">.<pspan>ospan> strp'> "="<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$and <pspan>ospan> keyword">= (<pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflatle</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] == <pspan>ospan> strp'> "?"<pspan>ospan> keyword">) ? <pspan>ospan> strp'> "".<pspan>ospan> keyword">: <pspan>ospan> strp'> "hp?t="<pspan>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflatle</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] .= <pspan>ospan> d" hrefla$and<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/t<pspan>ospan> keyword">;<br />    }<br />    <br />    public inet/man <pspan>ospan> d" hrefla heckQo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$g <pspan>ospan> keyword">){<br />        <pspan>ospan> d" hrefla$al/ts <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "hp?t="<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflatle</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]);<br />        <br />            ieyeach(<pspan>ospan> d" hrefla$al/ts <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$p</span>ospan> keyword">){<br />                <pspan>ospan> d" hrefla$al/amData <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "="<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$p</span>ospan> keyword">);<br />                if(<pspan>ospan> d" hrefla$al/amData</span>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">] == <pspan>ospan> d" hrefla$g <pspan>ospan> keyword">)<br />                    retur.p<pspan>ospan> d" hreflatrna</span>ospan> keyword">;<br />            }<br />            retur.p<pspan>ospan> d" hreflafal<t</span>ospan> keyword">;<br />        <br />    }<br />    <br />    public inet/man <pspan>ospan> d" hreflabuildQo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$g <pspan>ospan> keyword">,<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">){<br />        if(<pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hrefla heckQo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$g <pspan>ospan> keyword">))<br />            <pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflaeditQo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$g <pspan>ospan> keyword">,<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">);<br />        else<br />            <pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflaaddQo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$g <pspan>ospan> keyword">,<pspan>ospan> d" hrefla$n" na</span>ospan> keyword">);<br />        <br />    }<br />    <br />    public inet/man <pspan>ospan> d" hreflaresetQo; h<pspan>ospan> keyword">(){<br />        <pspan>ospan> d" hrefla$icis</span>ospan> keyword">->.pspan>ospan> d" hreflatle.<pspan>ospan> keyword">= <pspan>ospan> d" hrefla <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$_SERVER</span>ospan> keyword">[<pspan>ospan> strp'> 'REQUEST_URI'<pspan>ospan> keyword">]);<br />    }<br />    <br />    <br />    <br /><br />}<br /><pspan>ospan> d" hrefla?>.br /><pspan>.br />Useage:<br /><br />Test.php.foo=1:<br /><br />ospan> d" hrefla<?chp<br />$alth.<pspan>ospan> keyword">= new <pspan>ospan> d" hreflaP ths</span>ospan> keyword">(<pspan>ospan> d" hrefla$_SERVER</span>ospan> keyword">[<pspan>ospan> strp'> 'REQUEST_URI'<pspan>ospan> keyword">]);<br /><pspan>ospan> d" hrefla$alth</span>ospan> keyword">->.pspan>ospan> d" hrefla hangeP th</span>ospan> keyword">(<pspan>ospan> strp'> "/baz.php"<pspan>ospan> keyword">);<br /><pspan>ospan> d" hrefla$alth</span>ospan> keyword">->.pspan>ospan> d" hreflabuildQo; h<pspan>ospan> keyword">(<pspan>ospan> strp'> "foo"<pspan>ospan> keyword">,<pspan>ospan> d" hrefla2</span>ospan> keyword">);<br /><pspan>ospan> d" hrefla$alth</span>ospan> keyword">->.pspan>ospan> d" hreflabuildQo; h<pspan>ospan> keyword">(<pspan>ospan> strp'> "bar"<pspan>ospan> keyword">,<pspan>ospan> d" hrefla3<pspan>ospan> keyword">);<br />echo <pspan>ospan> d" hrefla$alth</span>ospan> keyword">->.pspan>ospan> d" hreflaretur.Ule<pspan>ospan> keyword">();<br /><pspan>ospan> d" hrefla?>.br /><pspan>.br />retur.n: /baz.php.foo=2hp?t=bar=3    <br /><br />Hop;eicismis ofesome us' toesomeone!<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d119033">ar-r"> vs.phvvbar "clearfix"Vu119033">bar "crev"> e <dd><avs.p-ns.p.php.fix119033hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd119033">bar "crev"> e <dd><avs.p-ns.p.php.fix119033hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV119033"eases/fe100% lik;eicis...">bar "1 alt=" </ul" </ul"rev"> #119033"e typ">tur/strong us'rn. em>mys5droihp'c gen/r.dotrman</em></strong>L a><re gs tnchor"ev"> #119033">a&ch o;L a><lear dink reses/fe2016-03-20 12:30"><strong>1 yeag ago</strong>L </form> > <l </dHman119033">bl></dd-top">chp ">d rfspan>v> </nav.w3.> I have b?a inet/man which conve/ts IEative URLrg sabsolute URLr ea roject ofemine. Consid'ring I could ec find it elseahere, I figur b?I wauld post it here.<br /><br />Tc. following inet/man takes in 2 ch ometers, ic. firs ch ometermis ic. URLryou wantet sconve/t from IEative g sabsolute, and the second ch ometermis a sample>of ic. absolute URL.<br /><br />Currentlyrit does ec resolve '../' in ic. URL, only becaus' I do ec needrit. Most webs'rvers will resolve icism eyou. Ifryou wanteit to resolve ice '../' in ic. alth,eit just takes min em ahpica/mans.<br /><br /><span> d" hrefla<?chp<br /><br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hrefla IEativeToAbsolute</span>ospan> keyword">(<pspan>ospan> d" hrefla$intle</span>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">) {<br />    </span>ospan> al/e<liav// Get all al/ts so ec g tCharthem mrefiple>times :)<br />    <pspan>ospan> d" hrefla$absolute_al/ts <pspan>ospan> keyword">= <pspan>ospan> d" hrefla <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">);    <br />    </span>ospan> al/e<liav// Test if URLris already absolute (contn/ns host, or beg/ns with '/')<br />    <pspan>ospan> keyword">if ( (<pspan>ospan> d" hreflastrpos</span>ospan> keyword">(<pspan>ospan> d" hrefla$intle</span>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) == <pspan>ospan> d" hreflafal<t</span>ospan> keyword">) ) {<br />        </span>ospan> al/e<liav// Def le $tmptle reiix to rev<li errors below<br />        <pspan>ospan> d" hrefla$imptle reiix <pspan>ospan> keyword">= <pspan>ospan> strp'> ""<pspan>ospan> keyword">;<br />        </span>ospan> al/e<liav// Formreate URLr reiix    (SCHEME)                    <br />        </span>ospan> keyword">if (!(empty(<pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]))) { <br />            </span>ospan> al/e<liav// Add scamp;rg simptle reiix<br />            <pspan>ospan> d" hrefla$imptle reiix <pspan>ospan> keyword">.= <pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">] . <pspan>ospan> strp'> "tml"<pspan>ospan> keyword">; <br />        }<br />        </span>ospan> al/e<liav// Formreate URLr reiix (USER, PASS)    <br />        </span>ospan> keyword">if ((!(empty(<pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]))) and (!(empty(<pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">])))) { <br />            </span>ospan> al/e<liav// Add us'r:portrg simptle reiix<br />            <pspan>ospan> d" hrefla$imptle reiix <pspan>ospan> keyword">.= <pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">] . <pspan>ospan> strp'> "t".<pspan>ospan> keyword">. <pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">] . <pspan>ospan> strp'> "@"<pspan>ospan> keyword">;    <br />        }<br />        </span>ospan> al/e<liav// Formreate URLr reiix    (HOST, PORT)    <br />        </span>ospan> keyword">if (!(empty(<pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]))) { <br />            </span>ospan> al/e<liav// Add hostrg simptle reiix<br />            <pspan>ospan> d" hrefla$imptle reiix <pspan>ospan> keyword">.= <pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">];<br />            </span>ospan> al/e<liav// Checkr ea ort, add if extios<br />            </span>ospan> keyword">if (!(empty(<pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]))) {<br />                </span>ospan> al/e<liav// Add portrg simptle reiix<br />                <pspan>ospan> d" hrefla$imptle reiix <pspan>ospan> keyword">.= <pspan>ospan> strp'> "t".<pspan>ospan> keyword">. <pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">];<br />            } <br />        }<br />        </span>ospan> al/e<liav// Formreate URLr reiix    (PATH) and only add it if ic. lth.g sim ge does ec include ./    <br />        </span>ospan> keyword">if ( (!(empty(<pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]))) and (<pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$intle</span>ospan> keyword">,p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) != <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) ) { <br />            </span>ospan> al/e<liav// G chth.al/ts<br />            <pspan>ospan> d" hrefla$alth_al/ts <pspan>ospan> keyword">= <pspan>ospan> d" hrefla thinfo</span>ospan> keyword">(<pspan>ospan> d" hrefla$absolute_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]);<br />            </span>ospan> al/e<liav// Add plth.g simptle reiix<br />            <pspan>ospan> d" hrefla$imptle reiix <pspan>ospan> keyword">.= <pspan>ospan> d" hrefla$alth_al/ts<pspan>ospan> keyword">[<pspan>ospan> strp'> 'dir typ'<pspan>ospan> keyword">];<br />            </span>ospan> d" hrefla$imptle reiix <pspan>ospan> keyword">.= <pspan>ospan> strp'> "l"<pspan>ospan> keyword">; <br />        }<br />        else {    <br />            </span>ospan> d" hrefla$imptle reiix <pspan>ospan> keyword">.= <pspan>ospan> strp'> "l"<pspan>ospan> keyword">;    <br />        }    <br />        </span>ospan> al/e<liav// Lets Imove ice '/'<br />        </span>ospan> keyword">if (<pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$intle</span>ospan> keyword">,p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) { </span>ospan> d" hrefla$intle <pspan>ospan> keyword">= <pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$intle</span>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">); }    <br />        </span>ospan> al/e<liav// Lets Imove ice './'<br />        </span>ospan> keyword">if (<pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$intle</span>ospan> keyword">,p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla2</span>ospan> keyword">) == <pspan>ospan> strp'> './'<pspan>ospan> keyword">) { </span>ospan> d" hrefla$intle <pspan>ospan> keyword">= <pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$intle</span>ospan> keyword">,p<pspan>ospan> d" hrefla2</span>ospan> keyword">); }    <br />        retur.p<pspan>ospan> d" hrefla$imptle reiix <pspan>ospan> keyword">. </span>ospan> d" hrefla$intle<pspan>ospan> keyword">;<br />    }    <br />    else {<br />        </span>ospan> al/e<liav// P thris already absolute. Retur.pit :)<br />        </span>ospan> keyword">retur.p<pspan>ospan> d" hrefla$intle<pspan>ospan> keyword">;<br />    }<br />}<br /><br /><pspan>ospan> al/e<liav// Def le a sample>absolute  URL<br /><pspan>ospan> d" hrefla$absolute <pspan>ospan> keyword">= <pspan>ospan> strp'> "<rev"> tml"e IE 9nofollow rearg _blankvv tmlL a>" <pspan>ospan> keyword">. </span>ospan> strp'> "us'r:p @dxaoria/man:8080/alth/to/index.v.w3.<pspan>ospan> keyword">; <pspan>ospan> al/e<liav// Just eva Charphp.net spam filter, ec sure how dxaoria/manris spam...<br /><br />/* EXAMPLE 1 */<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla IEativeToAbsolute</span>ospan> keyword">(<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">) . </span>ospan> strp'> "\n"<pspan>ospan> keyword">;<br /><pspan>ospan> al/e<liav/* EXAMPLE 2 */<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla IEativeToAbsolute</span>ospan> keyword">(<pspan>ospan> strp'> "img.gif"<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">) . </span>ospan> strp'> "\n"<pspan>ospan> keyword">;<br /><pspan>ospan> al/e<liav/* EXAMPLE 3 */<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla IEativeToAbsolute</span>ospan> keyword">(<pspan>ospan> strp'> "/img.gif"<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">) . </span>ospan> strp'> "\n"<pspan>ospan> keyword">; <br /><pspan>ospan> al/e<liav/* EXAMPLE 4 */<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla IEativeToAbsolute</span>ospan> keyword">(<pspan>ospan> strp'> "./img.gif"<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">) . </span>ospan> strp'> "\n"<pspan>ospan> keyword">;<br /><pspan>ospan> al/e<liav/* EXAMPLE 5 */<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla IEativeToAbsolute</span>ospan> keyword">(<pspan>ospan> strp'> "../img.gif"<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">) . </span>ospan> strp'> "\n"<pspan>ospan> keyword">;<br /><pspan>ospan> al/e<liav/* EXAMPLE 6 */<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla IEativeToAbsolute</span>ospan> keyword">(<pspan>ospan> strp'> "im ges/img.gif"<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">) . </span>ospan> strp'> "\n"<pspan>ospan> keyword">;<br /><pspan>ospan> al/e<liav/* EXAMPLE 7 */<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla IEativeToAbsolute</span>ospan> keyword">(<pspan>ospan> strp'> "/im ges/img.gif"<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">) . </span>ospan> strp'> "\n"<pspan>ospan> keyword">;<br /><pspan>ospan> al/e<liav/* EXAMPLE 8 */<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla IEativeToAbsolute</span>ospan> keyword">(<pspan>ospan> strp'> "./im ges/img.gif"<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">) . </span>ospan> strp'> "\n"<pspan>ospan> keyword">;<br /><pspan>ospan> al/e<liav/* EXAMPLE 9 */<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla IEativeToAbsolute</span>ospan> keyword">(<pspan>ospan> strp'> "../im ges/img.gif"<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$absolute</span>ospan> keyword">) . </span>ospan> strp'> "\n"<pspan>ospan> keyword">;<br /><br /><pspan>ospan> d" hrefla?>.br /><pspan>.br />OUTPUTS:<br /> tml us'r:p @dxaoria/man:8080/alth/to/index.v.w3<br /> tml us'r:p @dxaoria/man:8080/alth/to/img.gif<br /> tml us'r:p @dxaoria/man:8080/img.gif<br /> tml us'r:p @dxaoria/man:8080/alth/to/img.gif<br /> tml us'r:p @dxaoria/man:8080/alth/to/../img.gif<br /> tml us'r:p @dxaoria/man:8080/alth/to/im ges/img.gif<br /> tml us'r:p @dxaoria/man:8080/im ges/img.gif<br /> tml us'r:p @dxaoria/man:8080/alth/to/im ges/img.gif<br /> tml us'r:p @dxaoria/man:8080/alth/to/../im ges/img.gif<br /><br />Sorry if ic. above ris ec your style, or ifryou seepit as "messy" eyou icink ic.remis a bettermwayet sdorit. I Imoved as much>of ic. white space as possible.<br /><br />Improvee<lis aremwelcome :)<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d121722">ar-r"> vs.phvvbar "clearfix"Vu121722">bar "crev"> e <dd><avs.p-ns.p.php.fix121722hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd121722">bar "crev"> e <dd><avs.p-ns.p.php.fix121722hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV121722"eases/feno vs.ph...">bar "0 alt=" </ul" </ul"rev"> #121722"e typ">tur/strong us'rn. em>mona</em></strong>L a><re gs tnchor"ev"> #121722">a&ch o;L a><lear dink reses/fe2017-10-03 07:40"><strong>1 month ago</strong>L </form> > <l </dHman121722">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Creinkd a s.c.r p <title utf-8rmanaltible inet/man.<br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflamb_ <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">) {<br />    </span>ospan> d" hrefla$en bUle.<pspan>ospan> keyword">= <pspan>ospan> d" hrefla reg_replace</span>ospan> keyword">(<pspan>ospan> strp'> '%[^:/?#hp?t==\.]+%usDp'<pspan>ospan> keyword">,p<pspan>ospan> strp'> 'urlen (\'$0\')'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">);<br />    <pspan>ospan> d" hrefla$manaon<lis <pspan>ospan> keyword">= <pspan>ospan> d" hrefla <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$en bUle</span>ospan> keyword">);<br />    ieyeach (<pspan>ospan> d" hrefla$manaon<lis <pspan>ospan> keyword">as hp?t=<pspan>ospan> d" hrefla$manaon<li</span>ospan> keyword">)<br />        <pspan>ospan> d" hrefla$manaon<li <pspan>ospan> keyword">= <pspan>ospan> d" hreflatledec </span>ospan> keyword">(<pspan>ospan> d" hrefla$manaon<li</span>ospan> keyword">);<br />    retur.p<pspan>ospan> d" hrefla$manaon<lis<pspan>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?>.br /><pspan>.br />orev"> stmlforum.jdael.netl"e IE 9nofollow rearg _blankvv stmlforum.jdael.netlL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d121721">ar-r"> vs.phvvbar "clearfix"Vu121721">bar "crev"> e <dd><avs.p-ns.p.php.fix121721hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd121721">bar "crev"> e <dd><avs.p-ns.p.php.fix121721hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV121721"eases/feno vs.ph...">bar "0 alt=" </ul" </ul"rev"> #121721"e typ">tur/strong us'rn. em>anna</em></strong>L a><re gs tnchor"ev"> #121721">a&ch o;L a><lear dink reses/fe2017-10-03 07:37"><strong>1 month ago</strong>L </form> > <l </dHman121721">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Tcism net/man will attemptrg sal/en IEative URLs but IEayCharo.pit can>produce unexpecnkd behavi eic'c can>caus' some hard.g sirack bugs. (Tc. following resrefs aremobtn/nkd from PHP 5.5.19)<br /><br />AttemptChart sal/en a tle lik;eicis.br />orev"> tmldxaoria/man/<liities/GOA:98/?search=8989157d1f22"e IE 9nofollow rearg _blankvv tmldxaoria/man/<liities/GOA:98/?search=8989157d1f22L a><br />Correcnly>produces<br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">arraye(<br />  <pspan>ospan> strp'> 'scamp;' <pspan>ospan> keyword">=> <pspan>ospan> strp'> ' '<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'host' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'dxaoria/man'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'p th' <pspan>ospan> keyword">=> <pspan>ospan> strp'> '/<liities/GOA:98/'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'uo; h' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'search=8989157d1f22'<pspan>ospan> keyword">,<br />);<br /><pspan>ospan> d" hrefla?>.br /><pspan>.br />However, AttemptChart sal/en ic. IEative URL<br />eliities/GOA:98/?search=8989157d1f22Lbr /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">arraye(<br />  <pspan>ospan> strp'> 'host' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'dliities'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'port' <pspan>ospan> keyword">=> <pspan>ospan> d" hrefla98<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'p th' <pspan>ospan> keyword">=> <pspan>ospan> strp'> '/GOA:98/'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'uo; h' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'search=8989157d1f22'<pspan>ospan> keyword">,<br />)<br /><pspan>ospan> d" hrefla?>.br /><pspan>If I change :98rt s:A98rp <title p <ts ic. URLrcorrecnly>as<br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">arraye(<br />  <pspan>ospan> strp'> 'p th' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'eliities/GOA:A98/'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'uo; h' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'search=8989157d1f22'<pspan>ospan> keyword">,<br />)<br /><pspan>ospan> d" hrefla?>.br /><pspan>Bottom l/nk, AvoihpusCharp <title e IEative tles unlesseyou have .phnkd ic. expecnkd input and you knowrp <title will handlerthem well.<br /><br /><rev"> stmlforum.jdael.netl"e IE 9nofollow rearg _blankvv stmlforum.jdael.netlL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d121720">ar-r"> vs.phvvbar "clearfix"Vu121720">bar "crev"> e <dd><avs.p-ns.p.php.fix121720hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd121720">bar "crev"> e <dd><avs.p-ns.p.php.fix121720hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV121720"eases/feno vs.ph...">bar "0 alt=" </ul" </ul"rev"> #121720"e typ">tur/strong us'rn. em>jdael</em></strong>L a><re gs tnchor"ev"> #121720">a&ch o;L a><lear dink reses/fe2017-10-03 07:32"><strong>1 month ago</strong>L </form> > <l </dHman121720">bl></dd-top">chp ">d rfspan>v> </nav.w3.> To g ic. lrams (tle uo; h) as Associative array, us' tcism net/man: <br /><br /><span> d" hrefla<?chp <br /><pspan>ospan> al/e<liav/** <br />* Retur.s ic. tle uo; h as associative array <br />* <br />* @ lram    strp'>    uo; h <br />* @retur.    array    lrams <br />*/ <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaconve/tUrlQo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$qo; h<pspan>ospan> keyword">) { <br />    <pspan>ospan> d" hrefla$qo; hPl/ts <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$qo; h<pspan>ospan> keyword">); <br />    <br />    <pspan>ospan> d" hrefla$ lrams <pspan>ospan> keyword">= array(); <br />    ieyeach (<pspan>ospan> d" hrefla$qo; hPl/ts <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$plram<pspan>ospan> keyword">) { <br />        <pspan>ospan> d" hrefla$item <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$plram<pspan>ospan> keyword">); <br />        <pspan>ospan> d" hrefla$ lrams<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$item<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">]] = <pspan>ospan> d" hrefla$item<pspan>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">]; <br />    } <br />    <br />    retur.p<pspan>ospan> d" hrefla$ lrams<pspan>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?>.br /><pspan>.br />orev"> stmlforum.jdael.netl"e IE 9nofollow rearg _blankvv stmlforum.jdael.netlL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d121719">ar-r"> vs.phvvbar "clearfix"Vu121719">bar "crev"> e <dd><avs.p-ns.p.php.fix121719hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd121719">bar "crev"> e <dd><avs.p-ns.p.php.fix121719hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV121719"eases/feno vs.ph...">bar "0 alt=" </ul" </ul"rev"> #121719"e typ">tur/strong us'rn. em>Anonymous</em></strong>L a><re gs tnchor"ev"> #121719">a&ch o;L a><lear dink reses/fe2017-10-03 07:29"><strong>1 month ago</strong>L </form> > <l </dHman121719">bl></dd-top">chp ">d rfspan>v> </nav.w3.> To g ic. lrams (tle uo; h) as Associative array, us' tcism net/man: <br /><br /><span> d" hrefla<?chp <br /><pspan>ospan> al/e<liav/** <br />* Retur.s ic. tle uo; h as associative array <br />* <br />* @ lram    strp'>    uo; h <br />* @retur.    array    lrams <br />*/ <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaconve/tUrlQo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$qo; h<pspan>ospan> keyword">) { <br />    <pspan>ospan> d" hrefla$qo; hPl/ts <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$qo; h<pspan>ospan> keyword">); <br />    <br />    <pspan>ospan> d" hrefla$ lrams <pspan>ospan> keyword">= array(); <br />    ieyeach (<pspan>ospan> d" hrefla$qo; hPl/ts <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$plram<pspan>ospan> keyword">) { <br />        <pspan>ospan> d" hrefla$item <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$plram<pspan>ospan> keyword">); <br />        <pspan>ospan> d" hrefla$ lrams<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$item<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">]] = <pspan>ospan> d" hrefla$item<pspan>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">]; <br />    } <br />    <br />    retur.p<pspan>ospan> d" hrefla$ lrams<pspan>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?>.pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d121717">ar-r"> vs.phvvbar "clearfix"Vu121717">bar "crev"> e <dd><avs.p-ns.p.php.fix121717hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd121717">bar "crev"> e <dd><avs.p-ns.p.php.fix121717hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV121717"eases/feno vs.ph...">bar "0 alt=" </ul" </ul"rev"> #121717"e typ">tur/strong us'rn. em>anna</em></strong>L a><re gs tnchor"ev"> #121717">a&ch o;L a><lear dink reses/fe2017-10-03 07:08"><strong>1 month ago</strong>L </form> > <l </dHman121717">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Do ec lookr eic. frage<li in $_SERVER['QUERY_STRING'],ryou will ec find it. You shauld readeic. frage<li in JavaScriptr edxaoria/.br />orev"> stmlforum.jdael.netl"e IE 9nofollow rearg _blankvv stmlforum.jdael.netlL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d121599">ar-r"> vs.phvvbar "clearfix"Vu121599">bar "crev"> e <dd><avs.p-ns.p.php.fix121599hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd121599">bar "crev"> e <dd><avs.p-ns.p.php.fix121599hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV121599"eases/feno vs.ph...">bar "0 alt=" </ul" </ul"rev"> #121599"e typ">tur/strong us'rn. em>Anonymous</em></strong>L a><re gs tnchor"ev"> #121599">a&ch o;L a><lear dink reses/fe2017-09-02 10:32"><strong>2 months ago</strong>L </form> > <l </dHman121599">bl></dd-top">chp ">d rfspan>v> </nav.w3.> <span> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaglutitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">) { <br />    if (!<pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">)) { <br />        retur.p<pspan>ospan> d" hreflafal<t</span>ospan> keyword">; <br />    } <br /><br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$ lrend<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.((<pspan>ospan> d" hreflastrtolower</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) == <pspan>ospan> strp'> 'en/rto'<pspan>ospan> keyword">) ?p<pspan>ospan> strp'> '' <pspan>ospan> keyword">: <pspan>ospan> strp'> '//'<pspan>ospan> keyword">) : <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$ lrend<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">].(isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">).<pspan>ospan> strp'> '@' <pspan>ospan> keyword">: <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$ lrend<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br /><br />    if (isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">])) { <br />        <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= (<pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">],p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) ? <br />            </span>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] : ((!empty(<pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">) ?p<pspan>ospan> strp'> '/' <pspan>ospan> keyword">: <pspan>ospan> strp'> '' <pspan>ospan> keyword">) . </span>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]); <br />    } <br /><br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> '#'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">; <br /><br />    retur.p<pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?>.pspan> <br /><br /><rev"> stmlhdpicturs/man"e IE 9nofollow rearg _blankvv stmlhdpicturs/manL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d121498">ar-r"> vs.phvvbar "clearfix"Vu121498">bar "crev"> e <dd><avs.p-ns.p.php.fix121498hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd121498">bar "crev"> e <dd><avs.p-ns.p.php.fix121498hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV121498"eases/feno vs.ph...">bar "0 alt=" </ul" </ul"rev"> #121498"e typ">tur/strong us'rn. em>demerit</em></strong>L a><re gs tnchor"ev"> #121498">a&ch o;L a><lear dink reses/fe2017-08-09 12:06"><strong>3 months ago</strong>L </form> > <l </dHman121498">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Tc.remis a change in PHP 7 (I eciced it in 7.1 upgra Charfrom 5.3) wc.remif ic. lssword portman has an octothorpe (#) in it,rp <Charfails in 7.1, wc.reas ic succeeds in 5.3.<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120151">ar-r"> vs.phvvbar "clearfix"Vu120151">bar "crev"> e <dd><avs.p-ns.p.php.fix120151hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120151">bar "crev"> e <dd><avs.p-ns.p.php.fix120151hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120151"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #120151"e typ">tur/strong us'rn. em>mpyw</em></strong>L a><re gs tnchor"ev"> #120151">a&ch o;L a><lear dink reses/fe2016-11-12 01:35"><strong>1 year ago</strong>L </form> > <l </dHman120151">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Yet ans.c.r URLrbuild.r ioriae<lia/man:<br /><br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflabuilditle</span>ospan> keyword">(array <pspan>ospan> d" hrefla$eiae<lis<pspan>ospan> keyword">)<br />{<br />    </span>ospan> d" hrefla$e <pspan>ospan> keyword">= <pspan>ospan> d" hrefla$eiae<lis<pspan>ospan> keyword">;<br />    retur.<br />        (isset(<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ?p(<br />            (isset(<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> "<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> d" hreflascamp;<pspan>ospan> keyword">]<pspan>ospan> strp'> tml"e<pspan>ospan> keyword">: <pspan>ospan> strp'> '//'<pspan>ospan> keyword">) .<br />            (isset(<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">] . (isset(<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> ":<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> d" hreflap <pspan>ospan> keyword">]<pspan>ospan> strp'> "e<pspan>ospan> keyword">: <pspan>ospan> strp'> ''<pspan>ospan> keyword">) . <pspan>ospan> strp'> '@' <pspan>ospan> keyword">: <pspan>ospan> strp'> ''<pspan>ospan> keyword">) .<br />            <pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] .<br />            (isset(<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> ":<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> d" hreflaport<pspan>ospan> keyword">]<pspan>ospan> strp'> "e<pspan>ospan> keyword">: <pspan>ospan> strp'> ''<pspan>ospan> keyword">)<br />        ) : <pspan>ospan> strp'> ''<pspan>ospan> keyword">) .<br />        (isset(<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] : <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) .<br />        (isset(<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> '?' <pspan>ospan> keyword">. (<pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla _buildiqo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">],p<pspan>ospan> strp'> ''<pspan>ospan> keyword">,p<pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">) : <pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) : <pspan>ospan> strp'> ''<pspan>ospan> keyword">) .<br />        (isset(<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> "#<pspan>ospan> d" hrefla$t</span>ospan> keyword">[<pspan>ospan> d" hreflafrage<li<pspan>ospan> keyword">]<pspan>ospan> strp'> "e<pspan>ospan> keyword">: <pspan>ospan> strp'> ''<pspan>ospan> keyword">)<br />    ;<br />}<br /><pspan>ospan> d" hrefla?>.br /><pspan>.br />For convenience,ryou can>p $eiae<lis['uo; h'] as array.<br /><br />Exaoria:<br /><br /><span> d" hrefla<?chp<br />$eiae<lis <pspan>ospan> keyword">= [<br />    </span>ospan> strp'> "host"e<pspan>ospan> keyword">=> <pspan>ospan> strp'> "dxaoria/man"<pspan>ospan> keyword">,<br />    </span>ospan> strp'> "us'rne<pspan>ospan> keyword">=> <pspan>ospan> strp'> "root"<pspan>ospan> keyword">,<br />    </span>ospan> strp'> "p ne<pspan>ospan> keyword">=> <pspan>ospan> strp'> "stupid"<pspan>ospan> keyword">,<br />    </span>ospan> strp'> "p thne<pspan>ospan> keyword">=> <pspan>ospan> strp'> "/x/y/z"<pspan>ospan> keyword">,<br />    </span>ospan> strp'> "uo; hne<pspan>ospan> keyword">=> [<br />        </span>ospan> strp'> "ane<pspan>ospan> keyword">=> <pspan>ospan> strp'> "b"<pspan>ospan> keyword">,<br />        </span>ospan> strp'> "cne<pspan>ospan> keyword">=> <pspan>ospan> strp'> "d"<pspan>ospan> keyword">,<br />    ],<br />];.br />echo <pspan>ospan> d" hreflabuilditle</span>ospan> keyword">(<pspan>ospan> d" hrefla$tiae<lis<pspan>ospan> keyword">);<br /><pspan>ospan> d" hrefla?>.br /><pspan>.br />will output<br /><br />//root:stupid@dxaoria/man/x/y/z?a=bhp?t=c=d<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d117143">ar-r"> vs.phvvbar "clearfix"Vu117143">bar "crev"> e <dd><avs.p-ns.p.php.fix117143hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd117143">bar "crev"> e <dd><avs.p-ns.p.php.fix117143hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV117143"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #117143"e typ">tur/strong us'rn. em>Rob</em></strong>L a><re gs tnchor"ev"> #117143">a&ch o;L a><lear dink reses/fe2015-04-21 12:27"><strong>2 years ago</strong>L </form> > <l </dHman117143">bl></dd-top">chp ">d rfspan>v> </nav.w3.> I've been workCharo.pa gs eric>v> </eic'c wauld mak. URIrp <Char/rbuildChara lites/ easier.<br /><br />Tc. manaos.r p ckagemis c.re: <rev"> stmlp ckagist.orglp ckages/enrise/urihelp'rne IE 9nofollow rearg _blankvv stmlp ckagist.orglp ckages/enrise/urihelp'rL a><br /><br />And ic. Iaository is c.re: <rev"> stmlgithub/man/Enrise/UriHelp'rne IE 9nofollow rearg _blankvv stmlgithub/man/Enrise/UriHelp'rL a><br /><br />Anedxaoria>of ic. usage:<br /><br /><span> d" hrefla<?chp<br />$uri <pspan>ospan> keyword">= new \<pspan>ospan> d" hreflaEnrise<pspan>ospan> keyword">\<pspan>ospan> d" hreflaUri<pspan>ospan> keyword">(<pspan>ospan> strp'> 'orev"> tmlusr:p @dxaoria/man:81/myalth/myfiia/v.w3?a=bhp?t=b[]=2hp?t=b[]=3#myfrage<li"e IE 9nofollow rearg _blankvv tmlusr:p @dxaoria/man:81/myalth/myfiia/v.w3?a=bhp?t=b[]=2hp?t=b[]=3#myfrage<liL a>'<pspan>ospan> keyword">);.br />echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflag Scamp;<pspan>ospan> keyword">(); <pspan>ospan> al/e<liav// <br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflag User</span>ospan> keyword">(); <pspan>ospan> al/e<liav// usr<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflag Pa <pspan>ospan> keyword">(); <pspan>ospan> al/e<liav// p <br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflag Host<pspan>ospan> keyword">(); <pspan>ospan> al/e<liav// dxaoria/man<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflag Port<pspan>ospan> keyword">(); <pspan>ospan> al/e<liav// 81<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflag Plth<pspan>ospan> keyword">(); <pspan>ospan> al/e<liav// /myalth/myfiia/v.w3<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflag Qo; h<pspan>ospan> keyword">(); <pspan>ospan> al/e<liav// a=bhp?t=b[]=2hp?t=b[]=3<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflag Frage<li<pspan>ospan> keyword">(); <pspan>ospan> al/e<liav// myfrage<liLbr /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflaisScamp;less<pspan>ospan> keyword">(); <pspan>ospan> al/e<liav// fal<t<br /><pspan>ospan> keyword">echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflaisRIEative<pspan>ospan> keyword">(); <pspan>ospan> al/e<liav// fal<t<br /><br /><pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflas Scamp;<pspan>ospan> keyword">(<pspan>ospan> strp'> 'scamp;:child:scamp;.VALIDscamp;123:'<pspan>ospan> keyword">);<br /><pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflas Port<pspan>ospan> keyword">(.pspan>ospan> d" hreflanule</span>ospan> keyword">);<br />.br />echo <pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">->.pspan>ospan> d" hreflag Uri<pspan>ospan> keyword">(); <pspan>ospan> al/e<liav//scamp;:child:scamp;.VALIDscamp;123:usr:p @dxaoria/man/myalth/myfiia/v.w3?a=bhp?t=b[]=2hp?t=b[]=3#myfrage<liLbr /><pspan>ospan> d" hrefla?>.pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120896">ar-r"> vs.phvvbar "clearfix"Vu120896">bar "crev"> e <dd><avs.p-ns.p.php.fix120896hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120896">bar "crev"> e <dd><avs.p-ns.p.php.fix120896hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120896"eases/fe0% lik;eicis...">bar "-2 alt=" </ul" </ul"rev"> #120896"e typ">tur/strong us'rn. em>Anonymous</em></strong>L a><re gs tnchor"ev"> #120896">a&ch o;L a><lear dink reses/fe2017-03-29 07:22"><strong>7 months ago</strong>L </form> > <l </dHman120896">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Tcism net/man will attemptrg sal/en IEative URLs but IEayCharo.pit can>produce unexpecnkd behavi eic'c can>caus' some hard.g sirack bugs. (Tc. following resrefs aremobtn/nkd from PHP 5.5.19)<br /><br />AttemptChart sal/en a tle lik;eicis.br />orev"> tmldxaoria/man/<liities/GOA:98/?search=8989157d1f22"e IE 9nofollow rearg _blankvv tmldxaoria/man/<liities/GOA:98/?search=8989157d1f22L a><br />Correcnly>produces<br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">arraye(<br />  <pspan>ospan> strp'> 'scamp;' <pspan>ospan> keyword">=> <pspan>ospan> strp'> ' '<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'host' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'dxaoria/man'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'p th' <pspan>ospan> keyword">=> <pspan>ospan> strp'> '/<liities/GOA:98/'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'uo; h' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'search=8989157d1f22'<pspan>ospan> keyword">,<br />);<br /><pspan>ospan> d" hrefla?>.br /><pspan>.br />However, AttemptChart sal/en ic. IEative URL<br />eliities/GOA:98/?search=8989157d1f22Lbr /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">arraye(<br />  <pspan>ospan> strp'> 'host' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'dliities'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'port' <pspan>ospan> keyword">=> <pspan>ospan> d" hrefla98<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'p th' <pspan>ospan> keyword">=> <pspan>ospan> strp'> '/GOA:98/'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'uo; h' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'search=8989157d1f22'<pspan>ospan> keyword">,<br />)<br /><pspan>ospan> d" hrefla?>.br /><pspan>If I change :98rt s:A98rp <title p <ts ic. URLrcorrecnly>as<br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">arraye(<br />  <pspan>ospan> strp'> 'p th' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'eliities/GOA:A98/'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'uo; h' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'search=8989157d1f22'<pspan>ospan> keyword">,<br />)<br /><pspan>ospan> d" hrefla?>.br /><pspan>Bottom l/nk, AvoihpusCharp <title e IEative tles unlesseyou have .phnkd ic. expecnkd input and you knowrp <title will handlerthem well.<br /><rev"> stmlvb.3dEat.netl"e IE 9nofollow rearg _blankvv stmlvb.3dEat.netlL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120895">ar-r"> vs.phvvbar "clearfix"Vu120895">bar "crev"> e <dd><avs.p-ns.p.php.fix120895hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120895">bar "crev"> e <dd><avs.p-ns.p.php.fix120895hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120895"eases/fe0% lik;eicis...">bar "-2 alt=" </ul" </ul"rev"> #120895"e typ">tur/strong us'rn. em>Anonymous</em></strong>L a><re gs tnchor"ev"> #120895">a&ch o;L a><lear dink reses/fe2017-03-29 07:20"><strong>7 months ago</strong>L </form> > <l </dHman120895">bl></dd-top">chp ">d rfspan>v> </nav.w3.> H.remis an updink.g sic. glutitle()m net/man.<br /><br />Ic can>nowrhandler IEative URLs ifro.ly>'p th' is provided.<br /><br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaglutitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">) {<br />    if (!<pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">)) {<br />        retur.p<pspan>ospan> d" hreflafal<t</span>ospan> keyword">;<br />    }<br /><br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$ lrend<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.((<pspan>ospan> d" hreflastrtolower</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) == <pspan>ospan> strp'> 'en/rto'<pspan>ospan> keyword">) ?p<pspan>ospan> strp'> '' <pspan>ospan> keyword">: <pspan>ospan> strp'> '//'<pspan>ospan> keyword">) : <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$ lrend<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">].(isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">).<pspan>ospan> strp'> '@' <pspan>ospan> keyword">: <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$ lrend<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br /><br />    if (isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">])) {<br />        <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= (<pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">],p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) ?<br />            </span>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] : ((!empty(<pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">) ?p<pspan>ospan> strp'> '/' <pspan>ospan> keyword">: <pspan>ospan> strp'> '' <pspan>ospan> keyword">) . </span>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]);<br />    }<br /><br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> '#'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br /><br />    retur.p<pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?>.br /><pspan>.rev"> stmlvb.3dEat.netl"e IE 9nofollow rearg _blankvv stmlvb.3dEat.netlL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120894">ar-r"> vs.phvvbar "clearfix"Vu120894">bar "crev"> e <dd><avs.p-ns.p.php.fix120894hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120894">bar "crev"> e <dd><avs.p-ns.p.php.fix120894hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120894"eases/fe0% lik;eicis...">bar "-2 alt=" </ul" </ul"rev"> #120894"e typ">tur/strong us'rn. em>Anonymous</em></strong>L a><re gs tnchor"ev"> #120894">a&ch o;L a><lear dink reses/fe2017-03-29 07:19"><strong>7 months ago</strong>L </form> > <l </dHman120894">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Modifica/man.g sic. from:<br />ic.originalmarksimpso.pat gen/r s=t man<br /><br />Change:<br />$r .= "(?:(?P<login>\w+):(?P<p >\w+)@)?";<br /><br />Replace with:<br />$r .= "(?:(?P<login>\w+):?(?P<p >\w+)?@)?";<br /><br />Tcismwill cove eic. caen ic. o.ly>us'r typ is pres<li in ic. url:<br /><br /><rev"> tmlus'r typ@subdoen/n.doen/n.man/index.php.arg1=.phn#tnchor"e IE 9nofollow rearg _blankvv tmlus'r typ@subdoen/n.doen/n.man/index.php.arg1=.phn#tnchorL a><br /><br />.rev"> stmlvb.3dEat.netl"e IE 9nofollow rearg _blankvv stmlvb.3dEat.netlL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120893">ar-r"> vs.phvvbar "clearfix"Vu120893">bar "crev"> e <dd><avs.p-ns.p.php.fix120893hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120893">bar "crev"> e <dd><avs.p-ns.p.php.fix120893hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120893"eases/fe0% lik;eicis...">bar "-2 alt=" </ul" </ul"rev"> #120893"e typ">tur/strong us'rn. em>Anonymous</em></strong>L a><re gs tnchor"ev"> #120893">a&ch o;L a><lear dink reses/fe2017-03-29 07:16"><strong>7 months ago</strong>L </form> > <l </dHman120893">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Creankd ans.c.r p <title utf-8 manaa/mblem net/man.<br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflamb_p <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">) {<br />    <pspan>ospan> d" hrefla$en dUle </span>ospan> keyword">= <pspan>ospan> d" hreflapreg_replace</span>ospan> keyword">(<pspan>ospan> strp'> '%[^:/?#hp?t==\.]+%usD;'<pspan>ospan> keyword">,p<pspan>ospan> strp'> 'tleen (\'$0\')'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">);<br />    <pspan>ospan> d" hrefla$manaon<lis <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$en dUle</span>ospan> keyword">);<br />    foreach (<pspan>ospan> d" hrefla$manaon<lis <pspan>ospan> keyword">as hp?t=<pspan>ospan> d" hrefla$manaon<li</span>ospan> keyword">)<br />        <pspan>ospan> d" hrefla$manaon<li <pspan>ospan> keyword">= <pspan>ospan> d" hreflatlede </span>ospan> keyword">(<pspan>ospan> d" hrefla$manaon<li</span>ospan> keyword">);<br />    retur. <pspan>ospan> d" hrefla$manaon<lis<pspan>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?>.br /><pspan>.br />.rev"> stmlvb.3dEat.netl"e IE 9nofollow rearg _blankvv stmlvb.3dEat.netlL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120565">ar-r"> vs.phvvbar "clearfix"Vu120565">bar "crev"> e <dd><avs.p-ns.p.php.fix120565hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120565">bar "crev"> e <dd><avs.p-ns.p.php.fix120565hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120565"eases/fe0% lik;eicis...">bar "-2 alt=" </ul" </ul"rev"> #120565"e typ">tur/strong us'rn. em>Anonymous</em></strong>L a><re gs tnchor"ev"> #120565">a&ch o;L a><lear dink reses/fe2017-02-01 12:24"><strong>9 months ago</strong>L </form> > <l </dHman120565">bl></dd-top">chp ">d rfspan>v> </nav.w3.> H.remis an updink.g sic. glutitle()m net/man.<br /><br />Ic can>nowrhandler IEative URLs ifro.ly>'p th' is provided.<br /><br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaglutitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">) {<br />    if (!<pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">)) {<br />        retur.p<pspan>ospan> d" hreflafal<t</span>ospan> keyword">;<br />    }<br /><br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$ lrend<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.((<pspan>ospan> d" hreflastrtolower</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) == <pspan>ospan> strp'> 'en/rto'<pspan>ospan> keyword">) ?p<pspan>ospan> strp'> '' <pspan>ospan> keyword">: <pspan>ospan> strp'> '//'<pspan>ospan> keyword">) : <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$ lrend<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">].(isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">).<pspan>ospan> strp'> '@' <pspan>ospan> keyword">: <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$ lrend<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br /><br />    if (isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">])) {<br />        <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= (<pspan>ospan> d" hreflasubstr</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">],p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) ?<br />            </span>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] : ((!empty(<pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">) ?p<pspan>ospan> strp'> '/' <pspan>ospan> keyword">: <pspan>ospan> strp'> '' <pspan>ospan> keyword">) . </span>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]);<br />    }<br /><br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> '#'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br /><br />    retur.p<pspan>ospan> d" hrefla$uri<pspan>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?>.br /><pspan>up<br />s="""br /><rev"> tmlwww.e-consrefp'>.mal"e IE 9nofollow rearg _blankvv tmlwww.e-consrefp'>.malL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d107291">ar-r"> vs.phvvbar "clearfix"Vu107291">bar "crev"> e <dd><avs.p-ns.p.php.fix107291hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd107291">bar "crev"> e <dd><avs.p-ns.p.php.fix107291hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV107291"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #107291"e typ">tur/strong us'rn. em>.c.rsel <dpat gen/r</em></strong>L a><re gs tnchor"ev"> #107291">a&ch o;L a><lear dink reses/fe2012-01-28 01:03"><strong>5 years ago</strong>L </form> > <l </dHman107291">bl></dd-top">chp ">d rfspan>v> </nav.w3.> UTF-8 awaremp <title() replacee<li. "br /> "br />I've realizkd icat even icough UTF-8 chh octers arem s. allowkd in URL's, I have .o work withra ls. of ic.m and p <title() will break. "br /> "br />Baend larg lyro.pic. work of "mallluhuctpat gen/r s=t man", I added p <title() manaa/mblem typd valuphv which mak.s ic. arrayevaluphra ls. easier .o work withr(instead of just numbers). I also ioriae<lipd detet/man of port,>us'r typ/p word and a back-"> erence .o better detet/ URL's lik;eicis: //en.wikipedia.man "br />... which, alicough is iechnically an invalid URL, it's uend > ensiv lyro.psi.ph lik;ewikipedia in ic. v"> of tnchorreags wh.remit's valid in browsers (ona>of ic. typph of URL's you have .o support wh.n>vrawlCharp ges). Tcismwill b. accurinklyrdetet/kd as ic. host typ instead of "p thneas in all o.c.r dxaorias. "br /> "br />Imwill submit my manaletem net/man (instead of just ic. RegExp) which is an almost "drop-in" replacee<li ep <title(). It retur.hra cleankd up arraye( efal<t) withrvaluphrmanaa/mblemwithrp <title(). Irmauld have .old ic. preg_match() s. .o storn ic. unuend > rarvaluph, but ic wauld manalica/e ic. RegExp and mak. it morn difficref .o read,>understand and > end. Tce key .o detet/mharUTF-8 chh octers is ic. usa>of ic. "u"rp typter in preg_match(). "br /> "br />ospan> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflap <tittf8itle</span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">) <br />{ <br />    staticp<pspan>ospan> d" hrefla$keys <pspan>ospan> keyword">= array(<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">=>.pspan>ospan> d" hrefla0<pspan>ospan> keyword">,<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">=>.pspan>ospan> d" hrefla0<pspan>ospan> keyword">,<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">=>.pspan>ospan> d" hrefla0<pspan>ospan> keyword">,<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">=>.pspan>ospan> d" hrefla0<pspan>ospan> keyword">,<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">=>.pspan>ospan> d" hrefla0<pspan>ospan> keyword">,<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">=>.pspan>ospan> d" hrefla0<pspan>ospan> keyword">,<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">=>.pspan>ospan> d" hrefla0<pspan>ospan> keyword">,<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">=>.pspan>ospan> d" hrefla0<pspan>ospan> keyword">); <br />    if (.pspan>ospan> d" hreflais_strp'></span>ospan> keyword">(<pspan>ospan> d" hrefla$tle</span>ospan> keyword">) hp?t=hp?t= <pspan>ospan> d" hreflapreg_match</span>ospan> keyword">( <br />            </span>ospan> strp'> '~^((?P<scamp;>[^:/?#]+):(//))?((\\3|//)?(?:(?P<us'r>[^:]+):(?P<p >[^@]+)@)?(?P<host>[^/?:#]*))(:(?P<port>\\d+))?' <pspan>ospan> keyword">. <br />            </span>ospan> strp'> '(?P<p th>[^?#]*)(\\?(?P<uo; h>[^#]*))?(#(?P<frage<li>.*))?~u'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">,p<pspan>ospan> d" hrefla$matches<pspan>ospan> keyword">)) <br />    { <br />        foreach (<pspan>ospan> d" hrefla$matches <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$key <pspan>ospan> keyword">=> <pspan>ospan> d" hrefla$valup</span>ospan> keyword">) <br />            if (!isset(<pspan>ospan> d" hrefla$keys<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">]) || empty(<pspan>ospan> d" hrefla$valup</span>ospan> keyword">)) <br />                unset(<pspan>ospan> d" hrefla$matches<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$key<pspan>ospan> keyword">]); <br />        retur.p<pspan>ospan> d" hrefla$matches<pspan>ospan> keyword">; <br />    } <br />    retur.p<pspan>ospan> d" hreflafal<t</span>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?> <br /><pspan> <br />UTF-8 URL's can/shauld bem ormalizkdneaft.r dxirac/man withrtcism net/man.<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d104527">ar-r"> vs.phvvbar "clearfix"Vu104527">bar "crev"> e <dd><avs.p-ns.p.php.fix104527hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd104527">bar "crev"> e <dd><avs.p-ns.p.php.fix104527hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV104527"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #104527"e typ">tur/strong us'rn. em>Siman D</em></strong>L a><re gs tnchor"ev"> #104527">a&ch o;L a><lear dink reses/fe2011-06-21 06:45"><strong>6 years ago</strong>L </form> > <l </dHman104527">bl></dd-top">chp ">d rfspan>v> </nav.w3.> To get ic. p tys (tle uo; h)eas Associative array,>us'rtcism net/man: "br /> "br />ospan> d" hrefla<?chp <br /><pspan>ospan> al/e<liav/** <br /> * Retur.hric. url uo; heas associative array <br /> * <br /> * @p ty    strp'>    uo; h <br /> * @retur.    array    p tys <br /> */ <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaconvertUrlQo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$qo; h<pspan>ospan> keyword">) { <br />    <pspan>ospan> d" hrefla$qo; hParis <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$qo; h<pspan>ospan> keyword">); <br />    <br />    <pspan>ospan> d" hrefla$p tys <pspan>ospan> keyword">= array(); <br />    foreach (<pspan>ospan> d" hrefla$qo; hParis <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$p ty<pspan>ospan> keyword">) { <br />        <pspan>ospan> d" hrefla$item <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$p ty<pspan>ospan> keyword">); <br />        <pspan>ospan> d" hrefla$p tys<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$item<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">]] = <pspan>ospan> d" hrefla$item<pspan>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">]; <br />    } <br />    <br />    retur.p<pspan>ospan> d" hrefla$p tys<pspan>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d92230">ar-r"> vs.phvvbar "clearfix"Vu92230">bar "crev"> e <dd><avs.p-ns.p.php.fix92230hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd92230">bar "crev"> e <dd><avs.p-ns.p.php.fix92230hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV92230"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #92230"e typ">tur/strong us'rn. em>ap s=t public1pat gen/r s=t man</em></strong>L a><re gs tnchor"ev"> #92230">a&ch o;L a><lear dink reses/fe2009-07-14 08:36"><strong>8 years ago</strong>L </form> > <l </dHman92230">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Sioria staticplibra heicat allows easy <dipula/man of tle p typters:<br /><br /><span> d" hrefla<?chp<br />    <pspan>ospan> al/e<liav/**<br />     * File provides easy way .o <dipula/e tle p typters<br />     * @authorrAlexander Podgorny<br />     */<br /><br />    <pspan>ospan> keyword"> p<pspan>ospan> d" hreflaUle </span>ospan> keyword">{<br />        <pspan>ospan> al/e<liav/**<br />         * Spliis tle in.o arrayeof it's piecphras follows:<br />         * [scamp;]://[us'r]:[p ]@[host]/[p th]?[qo; h]#[frage<li]<br />         * In addi/man it adds 'uo; h_p tys' key which contn/ns arrayeof <br />         * tle-de d key-valup p irs<br />         *<br />         * @p ty Strp'> $sUle Ule<br />         * @retur.pArrayePl/end tle piecph<br />         */<br />        <pspan>ospan> keyword">public staticpinet/man <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> d" hrefla$sUle</span>ospan> keyword">) {<br />            <pspan>ospan> d" hrefla$aUle </span>ospan> keyword">= <pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$sUle</span>ospan> keyword">);<br />            <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h_p tys'<pspan>ospan> keyword">] = array();<br />            <pspan>ospan> d" hrefla$aP irs <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]);<br />            <pspan>ospan> d" hreflaDU<pspan>ospan> keyword">::<pspan>ospan> d" hreflashow</span>ospan> keyword">(<pspan>ospan> d" hrefla$aP irs</span>ospan> keyword">);<br />            foreach(<pspan>ospan> d" hrefla$aP irs <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$sP ir</span>ospan> keyword">) {<br />                if (.pspan>ospan> d" hreflatrpm<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$sP ir</span>ospan> keyword">) == <pspan>ospan> strp'> ''<pspan>ospan> keyword">) { continue; }<br />                list(<pspan>ospan> d" hrefla$sKey<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$sValup</span>ospan> keyword">) = <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$sP ir</span>ospan> keyword">);<br />                <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h_p tys'<pspan>ospan> keyword">][<pspan>ospan> d" hrefla$sKey<pspan>ospan> keyword">] = <pspan>ospan> d" hreflatlede </span>ospan> keyword">(<pspan>ospan> d" hrefla$sValup</span>ospan> keyword">);<br />            }<br />            retur.p<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">;<br />        }<br />        <pspan>ospan> al/e<liav/**<br />         * Compiles tle ou. of arrayeof it's piecphr(retur.nd by expl Ule)<br />         * 'uo; h' is ignored if 'uo; h_p tys' is pres<li<br />         * <br />         * @p ty Arraye$aUle Arrayeof tle piecph<br />         */<br />        <pspan>ospan> keyword">public staticpinet/man <pspan>ospan> d" hreflaiori </span>ospan> keyword">(<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">) {<br />            <pspan>ospan> al/e<liav//[scamp;]://[us'r]:[p ]@[host]/[p th]?[qo; h]#[frage<li]<br />            <br />            <pspan>ospan> d" hrefla$sQo; h <pspan>ospan> keyword">= <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />            <br />            <pspan>ospan> al/e<liav// Compile uo; h<br />            <pspan>ospan> keyword">if (isset(<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h_p tys'<pspan>ospan> keyword">]) hp?t=hp?t= <pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h_p tys'<pspan>ospan> keyword">])) {<br />                <pspan>ospan> d" hrefla$aP irs <pspan>ospan> keyword">= array();<br />                foreach (<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h_p tys'<pspan>ospan> keyword">] as <pspan>ospan> d" hrefla$sKey<pspan>ospan> keyword">=>.pspan>ospan> d" hrefla$sValup</span>ospan> keyword">) {<br />                    <pspan>ospan> d" hrefla$aP irs<pspan>ospan> keyword">[] = <pspan>ospan> d" hrefla$sKey<pspan>ospan> keyword">.<pspan>ospan> strp'> '='<pspan>ospan> keyword">.<pspan>ospan> d" hreflatleen </span>ospan> keyword">(<pspan>ospan> d" hrefla$sValup</span>ospan> keyword">);               <br />                }<br />                <pspan>ospan> d" hrefla$sQo; h <pspan>ospan> keyword">= <pspan>ospan> d" hreflaiori </span>ospan> keyword">(<pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$aP irs</span>ospan> keyword">);    <br />            } else {<br />                <pspan>ospan> d" hrefla$sQo; h <pspan>ospan> keyword">= <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">];<br />            }<br />            <br />            <pspan>ospan> al/e<liav// Compile ule<br />            <pspan>ospan> d" hrefla$sUle </span>ospan> keyword">= <br />                <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">] . </span>ospan> strp'> '://' <pspan>ospan> keyword">. (<br />                    isset(<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) hp?t=hp?t= <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">] != <pspan>ospan> strp'> '' <pspan>ospan> keyword">hp?t=hp?t= isset(<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">]) <br />                       ?p<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">] . </span>ospan> strp'> ':' <pspan>ospan> keyword">. <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">] . </span>ospan> strp'> '@' <br />                       <pspan>ospan> keyword">: <pspan>ospan> strp'> ''<br />                <pspan>ospan> keyword">) .<br />                <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] . (<br />                    isset(<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]) hp?t=hp?t= <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] != <pspan>ospan> strp'> ''<br />                       <pspan>ospan> keyword">?p<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]<br />                       : <pspan>ospan> strp'> ''<br />                <pspan>ospan> keyword">) . (<br />                   <pspan>ospan> d" hrefla$sQo; h <pspan>ospan> keyword">!= <pspan>ospan> strp'> ''<br />                       <pspan>ospan> keyword">?p<pspan>ospan> strp'> '?' <pspan>ospan> keyword">. <pspan>ospan> d" hrefla$sQo; h<br />                       <pspan>ospan> keyword">: <pspan>ospan> strp'> ''<br />                <pspan>ospan> keyword">) . (<br />                   isset(<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]) hp?t=hp?t= <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">] != <pspan>ospan> strp'> ''<br />                       <pspan>ospan> keyword">?p<pspan>ospan> strp'> '#' <pspan>ospan> keyword">. <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]<br />                       : <pspan>ospan> strp'> ''<br />                <pspan>ospan> keyword">);<br />            retur.p<pspan>ospan> d" hrefla$sUle</span>ospan> keyword">;<br />        }<br />        <pspan>ospan> al/e<liav/**<br />         * Pl/ens tle and retur.hrarrayeof key-valup p irs of tle p tys<br />         *<br />         * @p ty Strp'> $sUle<br />         * @retur.pArray<br />         */<br />        <pspan>ospan> keyword">public staticpinet/man <pspan>ospan> d" hreflagetP tys<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$sUle</span>ospan> keyword">) {<br />            <pspan>ospan> d" hrefla$aUle </span>ospan> keyword">= <pspan>ospan> d" hreflaself<pspan>ospan> keyword">::<pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> d" hrefla$sUle</span>ospan> keyword">);<br />            retur.p<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h_p tys'<pspan>ospan> keyword">];<br />        }<br />        <pspan>ospan> al/e<liav/**<br />         * Removes exis/mhartle p tys and sets ic.m g sicose specifikd in $aP tys<br />         *<br />         * @p ty Strp'> $sUle Ule<br />         * @p ty Arraye$aP tys Arrayeof Key-Valup p irs .o setrtle p tys to<br />         * @retur.  Strp'> Newly manailnd tle <br />         */<br />        <pspan>ospan> keyword">public staticpinet/man <pspan>ospan> d" hreflasetP tys<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$sUle</span>ospan> keyword">,p<pspan>ospan> d" hrefla$aP tys<pspan>ospan> keyword">) {<br />            <pspan>ospan> d" hrefla$aUle </span>ospan> keyword">= <pspan>ospan> d" hreflaself<pspan>ospan> keyword">::<pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> d" hrefla$sUle</span>ospan> keyword">);<br />            <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] = <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />            <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h_p tys'<pspan>ospan> keyword">] = <pspan>ospan> d" hrefla$aP tys<pspan>ospan> keyword">;<br />            retur.p<pspan>ospan> d" hreflaself<pspan>ospan> keyword">::<pspan>ospan> d" hreflaiori </span>ospan> keyword">(<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">);<br />        }<br />        <pspan>ospan> al/e<liav/**<br />         * Updinksrvaluphrof exis/mhartle p tys and/or adds (if s. set)sicose specifikd in $aP tys<br />         *<br />         * @p ty Strp'> $sUle Ule<br />         * @p ty Arraye$aP tys Arrayeof Key-Valup p irs .o setrtle p tys to<br />         * @retur.  Strp'> Newly manailnd tle <br />         */<br />        <pspan>ospan> keyword">public staticpinet/man <pspan>ospan> d" hreflaupdinkP tys<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$sUle</span>ospan> keyword">,p<pspan>ospan> d" hrefla$aP tys<pspan>ospan> keyword">) {<br />            <pspan>ospan> d" hrefla$aUle </span>ospan> keyword">= <pspan>ospan> d" hreflaself<pspan>ospan> keyword">::<pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> d" hrefla$sUle</span>ospan> keyword">);<br />            <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] = <pspan>ospan> strp'> ''<pspan>ospan> keyword">;<br />            <pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h_p tys'<pspan>ospan> keyword">] = <pspan>ospan> d" hreflaarray_merg </span>ospan> keyword">(<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h_p tys'<pspan>ospan> keyword">],p<pspan>ospan> d" hrefla$aP tys<pspan>ospan> keyword">);<br />            retur.p<pspan>ospan> d" hreflaself<pspan>ospan> keyword">::<pspan>ospan> d" hreflaiori </span>ospan> keyword">(<pspan>ospan> d" hrefla$aUle<pspan>ospan> keyword">);<br />        }<br />    }<br /><br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d86611">ar-r"> vs.phvvbar "clearfix"Vu86611">bar "crev"> e <dd><avs.p-ns.p.php.fix86611hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd86611">bar "crev"> e <dd><avs.p-ns.p.php.fix86611hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV86611"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #86611"e typ">tur/strong us'rn. em>pbal/epat gen/r s=t man</em></strong>L a><re gs tnchor"ev"> #86611">a&ch o;L a><lear dink reses/fe2008-10-25 09:55"><strong>9 years ago</strong>L </form> > <l </dHman86611">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Modifica/man g sic. from:<br />ic.originalmarksiorsonpat gen/r s=t man<br /><br />Change:<br />$r .= "(?:(?P<login>\w+):(?P<p >\w+)@)?";<br /><br />Replace with:<br />$r .= "(?:(?P<login>\w+):?(?P<p >\w+)?@)?";<br /><br />Tcismwill cover .c. ase ic. only us'r typ is pres<li in ic. fun:<br /><br /><rev"> tmlus'r typ@subdoen/n.doen/n.man/index.php.arg1=.pht#tnchor"e IE 9nofollow rearg _blankvv tmlus'r typ@subdoen/n.doen/n.man/index.php.arg1=.pht#tnchorL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d86413">ar-r"> vs.phvvbar "clearfix"Vu86413">bar "crev"> e <dd><avs.p-ns.p.php.fix86413hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd86413">bar "crev"> e <dd><avs.p-ns.p.php.fix86413hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV86413"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #86413"e typ">tur/strong us'rn. em>vdklahpat hoten/r s=t man</em></strong>L a><re gs tnchor"ev"> #86413">a&ch o;L a><lear dink reses/fe2008-10-17 02:53"><strong>9 years ago</strong>L </form> > <l </dHman86413">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Soyp dxaoriaeicat determin.s ic. URL port. <br />Wh.n>port s. specifikd, it derives it from ic. scamp;. "br /> "br />ospan> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflag UlePort</span>ospan> keyword">(p<pspan>ospan> d" hrefla$funInfo <pspan>ospan> keyword">) <br />{ <br />    if( isset(<pspan>ospan> d" hrefla$funInfo<pspan>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]) ) { <br />        <pspan>ospan> d" hrefla$port </span>ospan> keyword">= <pspan>ospan> d" hrefla$funInfo<pspan>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]; <br />    } else { <pspan>ospan> al/e<liav// no>port specifikd; get d" href>port <br />        <pspan>ospan> keyword">if (isset(<pspan>ospan> d" hrefla$funInfo<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ) { <br />            switch(p<pspan>ospan> d" hrefla$funInfo<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">] ) { <br />                ase <pspan>ospan> strp'> ' '<pspan>ospan> keyword">: <br />                    <pspan>ospan> d" hrefla$port </span>ospan> keyword">= <pspan>ospan> d" hrefla80<pspan>ospan> keyword">; <pspan>ospan> al/e<liav// d" href> e <br />                    <pspan>ospan> keyword">break; <br />                ase <pspan>ospan> strp'> ' s'<pspan>ospan> keyword">: <br />                    <pspan>ospan> d" hrefla$port </span>ospan> keyword">= <pspan>ospan> d" hrefla443<pspan>ospan> keyword">; <pspan>ospan> al/e<liav// d" href> e s <br />                    <pspan>ospan> keyword">break; <br />                ase <pspan>ospan> strp'> 'f '<pspan>ospan> keyword">: <br />                    <pspan>ospan> d" hrefla$port </span>ospan> keyword">= <pspan>ospan> d" hrefla21<pspan>ospan> keyword">; <pspan>ospan> al/e<liav// d" href> ef <br />                    <pspan>ospan> keyword">break; <br />                ase <pspan>ospan> strp'> 'f s'<pspan>ospan> keyword">: <br />                    <pspan>ospan> d" hrefla$port </span>ospan> keyword">= <pspan>ospan> d" hrefla990<pspan>ospan> keyword">; <pspan>ospan> al/e<liav// d" href> ef s <br />                    <pspan>ospan> keyword">break; <br />                d" href: <br />                    <pspan>ospan> d" hrefla$port </span>ospan> keyword">= <pspan>ospan> d" hrefla0<pspan>ospan> keyword">; <pspan>ospan> al/e<liav// error; unsupported scamp; <br />                    <pspan>ospan> keyword">break; <br />            } <br />        } else { <br />            </span>ospan> d" hrefla$port </span>ospan> keyword">= <pspan>ospan> d" hrefla0<pspan>ospan> keyword">; <pspan>ospan> al/e<liav// error; unknown scamp; <br />        <pspan>ospan> keyword">} <br />    } <br />    retur.p<pspan>ospan> d" hrefla$port<pspan>ospan> keyword">; <br />} <br /> <br /><pspan>ospan> d" hrefla$ule </span>ospan> keyword">= <pspan>ospan> strp'> "<rev"> tmlnl3.php.nete <dd><aen/.net/manual/en/fun.php"e IE 9nofollow rearg _blankvv tmlnl3.php.nete <dd><aen/.net/manual/en/fun.phpL a>"<pspan>ospan> keyword">; <br /><pspan>ospan> d" hrefla$funInfo <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title</span>ospan> keyword">(p<pspan>ospan> d" hrefla$fun <pspan>ospan> keyword">); <br /><pspan>ospan> d" hrefla$funPort </span>ospan> keyword">= <pspan>ospan> d" hreflag UlePort</span>ospan> keyword">(p<pspan>ospan> d" hrefla$funInfo <pspan>ospan> keyword">); <br />if( <pspan>ospan> d" hrefla$funPort </span>ospan> keyword">!== <pspan>ospan> d" hrefla0 <pspan>ospan> keyword">) { <br />    prp't </span>ospan> strp'> 'Found URL port: '<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$funPort<pspan>ospan> keyword">; <br />} else { <br />    prp't </span>ospan> strp'> 'ERROR: Cauld s. find port a/ URL: '<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d86060">ar-r"> vs.phvvbar "clearfix"Vu86060">bar "crev"> e <dd><avs.p-ns.p.php.fix86060hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd86060">bar "crev"> e <dd><avs.p-ns.p.php.fix86060hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV86060"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #86060"e typ">tur/strong us'rn. em>xellisx</em></strong>L a><re gs tnchor"ev"> #86060">a&ch o;L a><lear dink reses/fe2008-10-01 08:37"><strong>9 years ago</strong>L </form> > <l </dHman86060">bl></dd-top">chp ">d rfspan>v> </nav.w3.> I need torp <t ou. ic. uo; hestrp'> from ic. "> errer, so I created tcism net/man. "br /> "br />ospan> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflap <tiqo; h<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$val<pspan>ospan> keyword">) <br /> { <br />  <pspan>ospan> al/e<liav/** <br />   *  Us'rtcism net/man torp <t ou. ic. uo; hearrayeelee<li from <br />   *  ic. outpu. of p <title(). <br />   */ <br />  <pspan>ospan> d" hrefla$var  <pspan>ospan> keyword">= <pspan>ospan> d" hreflav.w3_<liity_de </span>ospan> keyword">(<pspan>ospan> d" hrefla$var<pspan>ospan> keyword">); <br />  <pspan>ospan> d" hrefla$var  <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$var<pspan>ospan> keyword">); <br />  <pspan>ospan> d" hrefla$arr  <pspan>ospan> keyword">= array(); <br /> <br />  foreach(<pspan>ospan> d" hrefla$var <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$val<pspan>ospan> keyword">) <br />   { <br />    <pspan>ospan> d" hrefla$x          <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '='<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$val<pspan>ospan> keyword">); <br />    <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$x<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">]] = <pspan>ospan> d" hrefla$x<pspan>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">]; <br />   } <br />  unset(<pspan>ospan> d" hrefla$val<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$x<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$var<pspan>ospan> keyword">); <br />  retur.p<pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">; <br /> } <br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d85608">ar-r"> vs.phvvbar "clearfix"Vu85608">bar "crev"> e <dd><avs.p-ns.p.php.fix85608hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd85608">bar "crev"> e <dd><avs.p-ns.p.php.fix85608hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV85608"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #85608"e typ">tur/strong us'rn. em>nospaepat spellingcow s=t man</em></strong>L a><re gs tnchor"ev"> #85608">a&ch o;L a><lear dink reses/fe2008-09-08 02:03"><strong>9 years ago</strong>L </form> > <l </dHman85608">bl></dd-top">chp ">d rfspan>v> </nav.w3.> URL's in ic. uo; hestrp'> of ae IEative URL will caus'ra problee<br /><br />fails:<br />/psan.php.foo=bar&p?t=fun=<rev"> tmlwww.dxaoria.man"e IE 9nofollow rearg _blankvv tmlwww.dxaoria.manL a><br /><br />al/ens:<br /><rev"> tmlwww.foo.man/psan.php.foo=bar&p?t=fun= tmlwww.dxaoria.man"e IE 9nofollow rearg _blankvv tmlwww.foo.man/psan.php.foo=bar&p?t=fun= tmlwww.dxaoria.manL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d84119">ar-r"> vs.phvvbar "clearfix"Vu84119">bar "crev"> e <dd><avs.p-ns.p.php.fix84119hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd84119">bar "crev"> e <dd><avs.p-ns.p.php.fix84119hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV84119"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #84119"e typ">tur/strong us'rn. em>andrewic.artistpat hoten/r s=t man</em></strong>L a><re gs tnchor"ev"> #84119">a&ch o;L a><lear dink reses/fe2008-06-28 05:28"><strong>9 years ago</strong>L </form> > <l </dHman84119">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Here's ic. easiestpway .o get ic. URL g sic. p theicat your script is in (so s. ic. actd>< script typ itself, justsic. oriat. URL g sic. folder it's in)<br /><br />echo "<rev"> tml"e IE 9nofollow rearg _blankvv tmlL a>".$_SERVER['HTTP_HOST'].dir typ($_SERVER['PHP_SELF']);<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d83828">ar-r"> vs.phvvbar "clearfix"Vu83828">bar "crev"> e <dd><avs.p-ns.p.php.fix83828hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd83828">bar "crev"> e <dd><avs.p-ns.p.php.fix83828hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV83828"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #83828"e typ">tur/strong us'rn. em>to1nepat hoten/r s=t man</em></strong>L a><re gs tnchor"ev"> #83828">a&ch o;L a><lear dink reses/fe2008-06-13 11:01"><strong>9 years ago</strong>L </form> > <l </dHman83828">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Baend on ic. idea of "jbr at ya-right s=t man"evave I been workp'> onra newm net/man torp <t ic. fun:<br /><br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflap <tUle<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">) {<br />    <pspan>ospan> d" hrefla$r  <pspan>ospan> keyword">= <pspan>ospan> strp'> "^(?:(?P<scamp;>\w+)://)?"<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:(?P<login>\w+):(?P<p >\w+)@)?"<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?P<host>(?:(?P<subdoen/n>[\w\.]+)\.)?" <pspan>ospan> keyword">. <pspan>ospan> strp'> "(?P<doen/n>\w+\.(?P<> ensman>\w+)))"<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?::(?P<port>\d+))?"<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?P<p th>[\w/]*/(?P<fil;>\w+(?:\.\w+)?)?)?"<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:\?(?P<arg>[\w=hp?t=]+))?"<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:#(?P<anchor>\w+))?"<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">= <pspan>ospan> strp'> "!<pspan>ospan> d" hrefla$r<pspan>ospan> strp'> !"<pspan>ospan> keyword">;                                                <pspan>ospan> al/e<liav// Delimiters<br />    <br />    <pspan>ospan> d" hreflapreg_match <pspan>ospan> keyword">( <pspan>ospan> d" hrefla$r<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$ou. <pspan>ospan> keyword">);<br />    <br />    retur.p<pspan>ospan> d" hrefla$ou.<pspan>ospan> keyword">;<br />}<br /><pspan>ospan> d" hreflaprp't_r <pspan>ospan> keyword">( <pspan>ospan> d" hreflap <tUle <pspan>ospan> keyword">( <pspan>ospan> strp'> 'me:you@sub.site.org:29000/pear/validink.v.w3?happy=p;&p?t=sad=you#fun' <pspan>ospan> keyword">) );<br /><pspan>ospan> d" hrefla?><br /><pspan>obr />Tcismretur.h:<br />Array<br />(<br />    [0] => me:you@sub.site.org:29000/pear/validink.v.w3?happy=p;&p?t=sad=you#fun<br />    [scamp;] => <br />    [1] => <br />    [login] => me<br />    [2] => me<br />    [p ] => you<br />    [3] => you<br />    [host] => sub.site.org<br />    [4] => sub.site.org<br />    [subdoen/n] => sub<br />    [5] => sub<br />    [doen/n] => site.org<br />    [6] => site.org<br />    [> ensman] => org<br />    [7] => org<br />    [port] => 29000<br />    [8] => 29000<br />    [p th] => /pear/validink.v.w3<br />    [9] => /pear/validink.v.w3<br />    [fil;] => validink.v.w3<br />    [10] => validink.v.w3<br />    [arg] => happy=p;&p?t=sad=you<br />    [11] => happy=p;&p?t=sad=you<br />    [anchor] => fun<br />    [12] => fun<br />)<br /><br />So both typd and numbered arrayekeyhrare possible.<br /><br />It's quite advanckd, bu. Ieicink it works in any ase... Let me know if it doesn't...<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d77591">ar-r"> vs.phvvbar "clearfix"Vu77591">bar "crev"> e <dd><avs.p-ns.p.php.fix77591hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd77591">bar "crev"> e <dd><avs.p-ns.p.php.fix77591hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV77591"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #77591"e typ">tur/strong us'rn. em>Nick Smith</em></strong>L a><re gs tnchor"ev"> #77591">a&ch o;L a><lear dink reses/fe2007-09-05 02:32"><strong>10 years ago</strong>L </form> > <l </dHman77591">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Necu icat older versmanhrof PHP (e.g., 4.1) retur.nd an>blankestrp'> assic. p the eURLs withou. any p th, such as <rev"> tmlwww.php.net"e IE 9nofollow rearg _blankvv tmlwww.php.netL a><br /><br />However mor. ">c<li versmanhrof PHP (e.g., 4.4.7) s=n't setric. p theelee<li in ic. array, so old will get a PHP warnp'> abou. an und" inkd index.<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d77053">ar-r"> vs.phvvbar "clearfix"Vu77053">bar "crev"> e <dd><avs.p-ns.p.php.fix77053hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd77053">bar "crev"> e <dd><avs.p-ns.p.php.fix77053hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV77053"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #77053"e typ">tur/strong us'rn. em>stevenlewismat hoten/r s=t man</em></strong>L a><re gs tnchor"ev"> #77053">a&ch o;L a><lear dink reses/fe2007-08-13 03:08"><strong>10 years ago</strong>L </form> > <l </dHman77053">bl></dd-top">chp ">d rfspan>v> </nav.w3.> an updink g sic. glup fun .net/manu<br /><br />yourare ablk g spu. revostpand a p thewithou. a s> <hpat ic. beginnp'> of ic. p th<br /><br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaglupitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">) <br />    {<br />    if (! <pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">)) retur.p<pspan>ospan> d" hreflafals </span>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.((<pspan>ospan> d" hreflastrtolower<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) == <pspan>ospan> strp'> 'mn/rto'<pspan>ospan> keyword">) ?p<pspan>ospan> strp'> ''<pspan>ospan> keyword">:<pspan>ospan> strp'> '//'<pspan>ospan> keyword">): <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">].(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">]?p<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">]:<pspan>ospan> strp'> ''<pspan>ospan> keyword">).<pspan>ospan> strp'> '@'<pspan>ospan> keyword">:<pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ?p<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> ' ort'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    if(isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]))<br />        {<br />        <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= (<pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">],<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">)?<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]:<pspan>ospan> strp'> '/'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">];<br />        }<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$uri <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]) ?p<pspan>ospan> strp'> '#'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    retur.p<pspan>ospan> d" hrefla$uri</span>ospan> keyword">;<br />    }<br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d76979">ar-r"> vs.phvvbar "clearfix"Vu76979">bar "crev"> e <dd><avs.p-ns.p.php.fix76979hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd76979">bar "crev"> e <dd><avs.p-ns.p.php.fix76979hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV76979"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #76979"e typ">tur/strong us'rn. em>spaepat phreissanek s=t man</em></strong>L a><re gs tnchor"ev"> #76979">a&ch o;L a><lear dink reses/fe2007-08-08 12:05"><strong>10 years ago</strong>L </form> > <l </dHman76979">bl></dd-top">chp ">d rfspan>v> </nav.w3.> In reply .o adrian,<br /><br />Thankeyourv; hemuch eyour .net/manu Therp is a small issue witheyour IEative protocon .net/manu Yourneed torremove ic. // wh.n>makp'> ic. fun ic. p th. Herp is ic. newm net/manu<br /><br />inet/man resolvtitle($base, $fun) {<br />        if (!strlen($base)) retur.p$fun;<br />        // Step 2<br />        if (!strlen($fun)) retur.p$base;<br />        // Step 3<br />        if (preg_match('!^[a-z]+:!i', $fun)) retur.p$fun;<br />        $base = p <title($base);<br />        if ($fun{0} == "#") {<br />                // Step 2 (frage<li)<br />                $base['frage<li'] = substr($fun, 1);<br />                retur.punp <title($base);<br />        }<br />        unset($base['frage<li']);<br />        unset($base['uo; h']);<br />        if (substr($fun, 0, 2) == "//") {<br />                // Step 4<br />                retur.punp <title(array(<br />                        'scamp;'=>$base['scamp;'],<br />                        'p th'=>substr($fun,2),<br />                ));<br />        } else if ($fun{0} == "/") {<br />                // Step 5<br />                $base['p th'] = $fun;<br />        } else {<br />                // Step 6<br />                $p the= expl ('/', $base['p th']);<br />                $fun_p the= expl ('/', $fun);<br />                // Step 6a: drop fil; from base<br />                array_pop($p th);<br />                // Step 6b, 6c, 6e: append tle whil; removp'> "." and ".." from<br />                // ic. directo heportman<br />                $end = array_pop($fun_p th);<br />                foreach ($fun_p th as $sege<li) {<br />                        if ($sege<li == '.') {<br />                                // skip<br />                        } else if ($sege<li == '..' hp?t=hp?t= $p thehp?t=hp?t= $p th[sizeof($p th)-1] != '..') {<br />                                array_pop($p th);<br />                        } else {<br />                                $p th[] = $sege<li;<br />                        }<br />                }<br />                // Step 6d, 6f:rremove "." and ".." from fil; portman<br />                if ($end == '.') {<br />                        $p th[] = '';<br />                } else if ($end == '..' hp?t=hp?t= $p thehp?t=hp?t= $p th[sizeof($p th)-1] != '..') {<br />                        $p th[sizeof($p th)-1] = '';<br />                } else {<br />                        $p th[] = $end;<br />                }<br />                // Step 6h<br />                $base['p th'] = join('/', $p th);<br /><br />        }<br />        // Step 7<br />        retur.punp <title($base);<br />}.pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d76883">ar-r"> vs.phvvbar "clearfix"Vu76883">bar "crev"> e <dd><avs.p-ns.p.php.fix76883hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd76883">bar "crev"> e <dd><avs.p-ns.p.php.fix76883hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV76883"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #76883"e typ">tur/strong us'rn. em>christianpat resource-it s=t dk</em></strong>L a><re gs tnchor"ev"> #76883">a&ch o;L a><lear dink reses/fe2007-08-03 12:57"><strong>10 years ago</strong>L </form> > <l </dHman76883">bl></dd-top">chp ">d rfspan>v> </nav.w3.> I searched ean>ioriee<lia/man of rfc3986, which is a newer versman of rfc 2392. I may find it herp : <<rev"> tmlwww.chrsen.dk/.nedanemt/fil;s/scripter/chp/misc/rfc3986.php>"e IE 9nofollow rearg _blankvv tmlwww.chrsen.dk/.nedanemt/fil;s/scripter/chp/misc/rfc3986.php>L a> -e Iad ic. "fc at <<rev"> tml"fc.neterfc3986.v.w3>"e IE 9nofollow rearg _blankvv tml"fc.neterfc3986.v.w3>L a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d76682">ar-r"> vs.phvvbar "clearfix"Vu76682">bar "crev"> e <dd><avs.p-ns.p.php.fix76682hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd76682">bar "crev"> e <dd><avs.p-ns.p.php.fix76682hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV76682"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #76682"e typ">tur/strong us'rn. em>adrian-phppat sixfingered <d s=t netL em></strong>L a><re gs tnchor"ev"> #76682">a&ch o;L a><lear dink reses/fe2007-07-25 02:58"><strong>10 years ago</strong>L </form> > <l </dHman76682">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Here's am net/man which ioriee<lis resolvp'> ae IEative URL accordp'> io RFC 2396 set/man 5.2. No s=ubt ic.re are mor. effici<li ioriee<lia/mans, bu. tcismon;eiri.s iorremain>v>osk g sic. standard ev> rity. It reli.s onra net/man called "unp <title" g sioriee<li set/man 7, left as an>exercise eic. ">ader ( eyou can substitute ic. "glupitle" net/man posted earli.r)u<br /><br />ospan> d" hrefla<?chp<br /><pspan>ospan> al/e<liav/**<br /> * Resolvtra URL IEative .o a base p th. Tcismhappens iorwork withePOSIX<br /> * fil; typs as well. Tcismismbaend on RFC 2396 set/man 5.2.<br /> */<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaresolvtitle<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$base<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">) {<br />        if (!<pspan>ospan> d" hreflastrlen<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$base<pspan>ospan> keyword">)) retur.p<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">;<br />        <pspan>ospan> al/e<liav// Step 2<br />        <pspan>ospan> keyword">if (!<pspan>ospan> d" hreflastrlen<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">)) retur.p<pspan>ospan> d" hrefla$base<pspan>ospan> keyword">;<br />        <pspan>ospan> al/e<liav// Step 3<br />        <pspan>ospan> keyword">if (<pspan>ospan> d" hreflapreg_match<pspan>ospan> keyword">(<pspan>ospan> strp'> '!^[a-z]+:!i'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">)) retur.p<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$base <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$base<pspan>ospan> keyword">);<br />        if (<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">{<pspan>ospan> d" hrefla0<pspan>ospan> keyword">} == <pspan>ospan> strp'> "#"<pspan>ospan> keyword">) {<br />                <pspan>ospan> al/e<liav// Step 2 (frage<li)<br />                <pspan>ospan> d" hrefla$base<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">] = <pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">);<br />                retur.p<pspan>ospan> d" hreflaunp <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$base<pspan>ospan> keyword">);<br />        }<br />        unset(<pspan>ospan> d" hrefla$base<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]);<br />        unset(<pspan>ospan> d" hrefla$base<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]);<br />        if (<pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla2<pspan>ospan> keyword">) == <pspan>ospan> strp'> "//"<pspan>ospan> keyword">) {<br />                <pspan>ospan> al/e<liav// Step 4<br />                <pspan>ospan> keyword">retur.p<pspan>ospan> d" hreflaunp <title</span>ospan> keyword">(array(<br />                        <pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">=><pspan>ospan> d" hrefla$base<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">],<br />                        <pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">=><pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">,<br />                ));<br />        } else if (<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">{<pspan>ospan> d" hrefla0<pspan>ospan> keyword">} == <pspan>ospan> strp'> "/"<pspan>ospan> keyword">) {<br />                <pspan>ospan> al/e<liav// Step 5<br />                <pspan>ospan> d" hrefla$base<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] = <pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">;<br />        } else {<br />                <pspan>ospan> al/e<liav// Step 6<br />                <pspan>ospan> d" hrefla$alth <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$base<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]);<br />                <pspan>ospan> d" hrefla$fun_alth <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">);<br />                <pspan>ospan> al/e<liav// Step 6a: drop fil; from base<br />                <pspan>ospan> d" hreflaarray_pop<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$p th<pspan>ospan> keyword">);<br />                <pspan>ospan> al/e<liav// Step 6b, 6c, 6e: append tle whil; removp'> "." and ".." from<br />                // ic. directo heportman<br />                <pspan>ospan> d" hrefla$end <pspan>ospan> keyword">= <pspan>ospan> d" hreflaarray_pop<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fun_alth<pspan>ospan> keyword">);<br />                foreach (<pspan>ospan> d" hrefla$fun_alth <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$sege<li<pspan>ospan> keyword">) {<br />                        if (<pspan>ospan> d" hrefla$sege<li <pspan>ospan> keyword">== <pspan>ospan> strp'> '.'<pspan>ospan> keyword">) {<br />                                <pspan>ospan> al/e<liav// skip<br />                        <pspan>ospan> keyword">} else if (<pspan>ospan> d" hrefla$sege<li <pspan>ospan> keyword">== <pspan>ospan> strp'> '..' <pspan>ospan> keyword">hp?t=hp?t= <pspan>ospan> d" hrefla$alth <pspan>ospan> keyword">hp?t=hp?t= <pspan>ospan> d" hrefla$alth<pspan>ospan> keyword">[<pspan>ospan> d" hreflasizeof<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$p th<pspan>ospan> keyword">)-<pspan>ospan> d" hrefla1<pspan>ospan> keyword">] != <pspan>ospan> strp'> '..'<pspan>ospan> keyword">) {<br />                                <pspan>ospan> d" hreflaarray_pop<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$p th<pspan>ospan> keyword">);<br />                        } else {<br />                                <pspan>ospan> d" hrefla$alth<pspan>ospan> keyword">[] = <pspan>ospan> d" hrefla$sege<li<pspan>ospan> keyword">;<br />                        }<br />                }<br />                <pspan>ospan> al/e<liav// Step 6d, 6f:rremove "." and ".." from fil; portman<br />                <pspan>ospan> keyword">if (<pspan>ospan> d" hrefla$end <pspan>ospan> keyword">== <pspan>ospan> strp'> '.'<pspan>ospan> keyword">) {<br />                        <pspan>ospan> d" hrefla$alth<pspan>ospan> keyword">[] = <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />                } else if (<pspan>ospan> d" hrefla$end <pspan>ospan> keyword">== <pspan>ospan> strp'> '..' <pspan>ospan> keyword">hp?t=hp?t= <pspan>ospan> d" hrefla$alth <pspan>ospan> keyword">hp?t=hp?t= <pspan>ospan> d" hrefla$alth<pspan>ospan> keyword">[<pspan>ospan> d" hreflasizeof<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$p th<pspan>ospan> keyword">)-<pspan>ospan> d" hrefla1<pspan>ospan> keyword">] != <pspan>ospan> strp'> '..'<pspan>ospan> keyword">) {<br />                        <pspan>ospan> d" hrefla$alth<pspan>ospan> keyword">[<pspan>ospan> d" hreflasizeof<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$p th<pspan>ospan> keyword">)-<pspan>ospan> d" hrefla1<pspan>ospan> keyword">] = <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />                } else {<br />                        <pspan>ospan> d" hrefla$alth<pspan>ospan> keyword">[] = <pspan>ospan> d" hrefla$end</span>ospan> keyword">;<br />                }<br />                <pspan>ospan> al/e<liav// Step 6h<br />                <pspan>ospan> d" hrefla$base<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] = <pspan>ospan> d" hreflajoin</span>ospan> keyword">(<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$p th<pspan>ospan> keyword">);<br /><br />        }<br />        <pspan>ospan> al/e<liav// Step 7<br />        <pspan>ospan> keyword">retur.p<pspan>ospan> d" hreflaunp <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$base<pspan>ospan> keyword">);<br />}<br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d101331">ar-r"> vs.phvvbar "clearfix"Vu101331">bar "crev"> e <dd><avs.p-ns.p.php.fix101331hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd101331">bar "crev"> e <dd><avs.p-ns.p.php.fix101331hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV101331"eases/fe0% lik;eicis...">bar "-2 alt=" </ul" </ul"rev"> #101331"e typ">tur/strong us'rn. em>Mark Dobrp'icL em></strong>L a><re gs tnchor"ev"> #101331">a&ch o;L a><lear dink reses/fe2010-12-10 02:55"><strong>6 years ago</strong>L </form> > <l </dHman101331">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Ii seems ic. host-ch testrpphroff ic. > <t [:port] off ic. end of ic. host typ <br /> <br />Wh.n>someicingmismwrong in ic. actd><rrequest, tcismproves iorbe ic. wrong way .o doeicings. <br /> <br />It wouldrbe better .o s.estrpp off ic. [:port], bu. to keep ic. strp'> *before* ic. fir<t [:port] as ic. host typ. <br /> <br />Problem withe(maybe malformed)mprovided HTTP_HOST <br />host typ:443:443 <br />icat resolvtd in <br />'host' => 'host typ:443' <br /> <br />Which gave me problems. <br /> <br />Solu/man wouldrbe to enforc;eiciseyourself, explicsesy: <br /> <br />ospan> d" hrefla<?chp <br />$p <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title</span>ospan> keyword">(p<pspan>ospan> d" hrefla$fun <pspan>ospan> keyword">); <br /><pspan>ospan> d" hrefla$vostp<pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> ':'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$p<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]); <br /><pspan>ospan> d" hrefla$vost typp<pspan>ospan> keyword">= <pspan>ospan> d" hrefla$vost<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">]; <br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d75523">ar-r"> vs.phvvbar "clearfix"Vu75523">bar "crev"> e <dd><avs.p-ns.p.php.fix75523hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd75523">bar "crev"> e <dd><avs.p-ns.p.php.fix75523hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV75523"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #75523"e typ">tur/strong us'rn. em>Elliott Bruegge <dL em></strong>L a><re gs tnchor"ev"> #75523">a&ch o;L a><lear dink reses/fe2007-06-03 03:59"><strong>10 years ago</strong>L </form> > <l </dHman75523">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Necu icat ifeyou p eiciseinet/man a tle withou. a scamp; (www.php.net, as opposed tor<rev"> tmlwww.php.net"e IE 9nofollow rearg _blankvv tmlwww.php.netL a>), ic. fnet/man will incorrectly p <teic. ">srefs. In my .est ase it retur.nd ic. doen/n und" eic. ['p th'] elee<li and noicingmineic. ['host'] elee<li.<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d70690">ar-r"> vs.phvvbar "clearfix"Vu70690">bar "crev"> e <dd><avs.p-ns.p.php.fix70690hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd70690">bar "crev"> e <dd><avs.p-ns.p.php.fix70690hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV70690"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #70690"e typ">tur/strong us'rn. em>alistairpat 21degrees s=t man s=t auL em></strong>L a><re gs tnchor"ev"> #70690">a&ch o;L a><lear dink reses/fe2006-10-23 07:21"><strong>11 years ago</strong>L </form> > <l </dHman70690">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Heres a siorie fnet/man .o add ic. $manpon<li op/man ine ePHP4. Haven't don;eexhaustive .esting, bu. shouldrwork oku<br /><br />ospan> d" hrefla<?chp<br /><br />    <pspan>ospan> al/e<liav## D" inks only availablk inePHP 5, created ePHP4<br />    <pspan>ospan> keyword">if(!<pspan>ospan> d" hreflad" inkd</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_SCHEME'<pspan>ospan> keyword">)) <pspan>ospan> d" hreflad" ink</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_SCHEME'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">);<br />    if(!<pspan>ospan> d" hreflad" inkd</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_HOST'<pspan>ospan> keyword">)) <pspan>ospan> d" hreflad" ink</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_HOST'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla2<pspan>ospan> keyword">);<br />    if(!<pspan>ospan> d" hreflad" inkd</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_PORT'<pspan>ospan> keyword">)) <pspan>ospan> d" hreflad" ink</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_PORT'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla3<pspan>ospan> keyword">);<br />    if(!<pspan>ospan> d" hreflad" inkd</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_USER'<pspan>ospan> keyword">)) <pspan>ospan> d" hreflad" ink</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_USER'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla4<pspan>ospan> keyword">);<br />    if(!<pspan>ospan> d" hreflad" inkd</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_PASS'<pspan>ospan> keyword">)) <pspan>ospan> d" hreflad" ink</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_PASS'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla5<pspan>ospan> keyword">);<br />    if(!<pspan>ospan> d" hreflad" inkd</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_PATH'<pspan>ospan> keyword">)) <pspan>ospan> d" hreflad" ink</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_PATH'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla6<pspan>ospan> keyword">);<br />    if(!<pspan>ospan> d" hreflad" inkd</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_QUERY'<pspan>ospan> keyword">)) <pspan>ospan> d" hreflad" ink</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_QUERY'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla7<pspan>ospan> keyword">);                        <br />    if(!<pspan>ospan> d" hreflad" inkd</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_FRAGMENT'<pspan>ospan> keyword">)) <pspan>ospan> d" hreflad" ink</span>ospan> keyword">(<pspan>ospan> strp'> 'PHP_URL_FRAGMENT'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla8<pspan>ospan> keyword">);    <br />    <br />    inet/man <pspan>ospan> d" hreflap <title_manpat<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$manpon<li<pspan>ospan> keyword">=<pspan>ospan> d" hreflaNULL<pspan>ospan> keyword">){<br />        <br />        if(!<pspan>ospan> d" hrefla$manpon<li<pspan>ospan> keyword">) retur.p<pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">);<br />        <br />        <pspan>ospan> al/e<liav## PHP 5<br />        <pspan>ospan> keyword">if(<pspan>ospan> d" hreflaphpversman</span>ospan> keyword">() >= <pspan>ospan> d" hrefla5<pspan>ospan> keyword">)<br />            retur.p<pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$manpon<li<pspan>ospan> keyword">);<br /><br />        <pspan>ospan> al/e<liav## PHP 4<br />        <pspan>ospan> d" hrefla$bits <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">);<br />        <br />        switch(<pspan>ospan> d" hrefla$manpon<li<pspan>ospan> keyword">){<br />            case <pspan>ospan> d" hreflaPHP_URL_SCHEME<pspan>ospan> keyword">: retur.p<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">];<br />            case <pspan>ospan> d" hreflaPHP_URL_HOST<pspan>ospan> keyword">: retur.p<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">];<br />            case <pspan>ospan> d" hreflaPHP_URL_PORT<pspan>ospan> keyword">: retur.p<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">];<br />            case <pspan>ospan> d" hreflaPHP_URL_USER<pspan>ospan> keyword">: retur.p<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">];<br />            case <pspan>ospan> d" hreflaPHP_URL_PASS<pspan>ospan> keyword">: retur.p<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">];<br />            case <pspan>ospan> d" hreflaPHP_URL_PATH<pspan>ospan> keyword">: retur.p<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">];<br />            case <pspan>ospan> d" hreflaPHP_URL_QUERY<pspan>ospan> keyword">: retur.p<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">];<br />            case <pspan>ospan> d" hreflaPHP_URL_FRAGMENT<pspan>ospan> keyword">: retur.p<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">];<br />        }<br />        <br />    }<br /><br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d83998">ar-r"> vs.phvvbar "clearfix"Vu83998">bar "crev"> e <dd><avs.p-ns.p.php.fix83998hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd83998">bar "crev"> e <dd><avs.p-ns.p.php.fix83998hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV83998"eases/fe0% lik;eicis...">bar "-2 alt=" </ul" </ul"rev"> #83998"e typ">tur/strong us'rn. em>Cool Coys.pL em></strong>L a><re gs tnchor"ev"> #83998">a&ch o;L a><lear dink reses/fe2008-06-23 05:35"><strong>9 years ago</strong>L </form> > <l </dHman83998">bl></dd-top">chp ">d rfspan>v> </nav.w3.> baend on ic. "lhreibriuspat hotmail s=t man" net/man, tcismwork e IEatives tle only:<br /><br />ospan> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflap <tUle</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">) {<br /><pspan>ospan> d" hrefla$r <pspan>ospan> keyword">= <pspan>ospan> strp'> "^(?:(?P<p th>[\.\w/]*/)?"<pspan>ospan> keyword">;<br /><pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?P<fil;>\w+(?:\.\w+)?)?)\.(?P<> ensman>\w+)?"<pspan>ospan> keyword">;<br /><pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:\?(?P<arg>[\w=hp?t=]+))?"<pspan>ospan> keyword">;<br /><pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:#(?P<anchor>\w+))?"<pspan>ospan> keyword">;<br /><pspan>ospan> d" hrefla$r <pspan>ospan> keyword">= <pspan>ospan> strp'> "!<pspan>ospan> d" hrefla$r<pspan>ospan> strp'> !"<pspan>ospan> keyword">;<br /><br /><pspan>ospan> d" hreflapreg_match <pspan>ospan> keyword">(p<pspan>ospan> d" hrefla$r<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$ou. <pspan>ospan> keyword">);<br />retur.p<pspan>ospan> d" hrefla$ou.<pspan>ospan> keyword">;<br />}<br /><br /><pspan>ospan> d" hreflaprp't_r<pspan>ospan> keyword">(<pspan>ospan> d" hreflap <tUle</span>ospan> keyword">(<pspan>ospan> strp'> "../.est/f.aq.php.p=1hp?t=v=blabla#X1"<pspan>ospan> keyword">));<br /><br /><pspan>ospan> d" hrefla?><br /><pspan>obr />retur.s:<br />Array<br />(<br />    [0] => ../.est/faq.php.p=1hp?t=v=blabla#X1<br />    [p th] => ../.est/<br />    [1] => ../.est/<br />    [fil;] => faq<br />    [2] => faq<br />    [> ensman] => chp<br />    [3] => chp<br />    [arg] => c=1hp?t=v=blabla<br />    [4] => c=1hp?t=v=blabla<br />    [anchor] => X1<br />    [5] => X1<br />).pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d83875">ar-r"> vs.phvvbar "clearfix"Vu83875">bar "crev"> e <dd><avs.p-ns.p.php.fix83875hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd83875">bar "crev"> e <dd><avs.p-ns.p.php.fix83875hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV83875"eases/fe0% lik;eicis...">bar "-2 alt=" </ul" </ul"rev"> #83875"e typ">tur/strong us'rn. em>lhreibriuspat hotmail s=t manL em></strong>L a><re gs tnchor"ev"> #83875">a&ch o;L a><lear dink reses/fe2008-06-16 09:31"><strong>9 years ago</strong>L </form> > <l </dHman83875">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Tc.re wasmon;eicingmmissingmineic. inet/man droppnd by "to1n;eat hotmail s=t man" wh.n>ieiri.d it : doen/n and subdoen/n couldn't havtra dash "-". So>ieadd it ineic. regexp and ic. inet/man looks lik;eicis now :<br /><br />ospan> d" hrefla<?chp<br />    <pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflap <tUle</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">) {<br />        <pspan>ospan> d" hrefla$r  <pspan>ospan> keyword">= <pspan>ospan> strp'> "^(?:(?P<scamp;>\w+)://)?"<pspan>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:(?P<login>\w+):(?P<p ss>\w+)@)?"<pspan>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?P<host>(?:(?P<subdoen/n>[-\w\.]+)\.)?" <pspan>ospan> keyword">. <pspan>ospan> strp'> "(?P<doen/n>[-\w]+\.(?P<> ensman>\w+)))"<pspan>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?::(?P<port>\d+))?"<pspan>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?P<p th>[\w/]*/(?P<fil;>\w+(?:\.\w+)?)?)?"<pspan>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:\?(?P<arg>[\w=hp?t=]+))?"<pspan>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">.= <pspan>ospan> strp'> "(?:#(?P<anchor>\w+))?"<pspan>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$r <pspan>ospan> keyword">= <pspan>ospan> strp'> "!<pspan>ospan> d" hrefla$r<pspan>ospan> strp'> !"<pspan>ospan> keyword">;                                                <pspan>ospan> al/e<liav// Delimiters<br />       <br />        <pspan>ospan> d" hreflapreg_match <pspan>ospan> keyword">(p<pspan>ospan> d" hrefla$r<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$ou. <pspan>ospan> keyword">);<br />       <br />        retur.p<pspan>ospan> d" hrefla$ou.<pspan>ospan> keyword">;<br />    }<br /><pspan>ospan> d" hrefla?><br /><pspan>obr />Btw, tcanks eic. net/man, it helps me a loi.<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d48574">ar-r"> vs.phvvbar "clearfix"Vu48574">bar "crev"> e <dd><avs.p-ns.p.php.fix48574hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd48574">bar "crev"> e <dd><avs.p-ns.p.php.fix48574hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV48574"eases/fe50% lik;eicis...">bar "0 alt=" </ul" </ul"rev"> #48574"e typ">tur/strong us'rn. em>Tc.Shas="L em></strong>L a><re gs tnchor"ev"> #48574">a&ch o;L a><lear dink reses/fe2004-12-30 12:36"><strong>12 years ago</strong>L </form> > <l </dHman48574">bl></dd-top">chp ">d rfspan>v> </nav.w3.> You may wan. to camck ou. tce PEAR NET_URL>v> </. It provides easy means ior <dipulink URL strp'>su<br /><br />orev"> tmlpear.php.net/packsan/Net_URL"e IE 9nofollow rearg _blankvv tmlpear.php.net/packsan/Net_URLL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d77384">ar-r"> vs.phvvbar "clearfix"Vu77384">bar "crev"> e <dd><avs.p-ns.p.php.fix77384hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd77384">bar "crev"> e <dd><avs.p-ns.p.php.fix77384hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV77384"eases/fe0% lik;eicis...">bar "-2 alt=" </ul" </ul"rev"> #77384"e typ">tur/strong us'rn. em>Michael MurydL em></strong>L a><re gs tnchor"ev"> #77384">a&ch o;L a><lear dink reses/fe2007-08-27 08:51"><strong>10 years ago</strong>L </form> > <l </dHman77384">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Anoicer updink g sic. glupitle net/man: applind ic. "isset"etreate<li g s$al/end['p ']u<br /><br />ospan> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaglupitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">)<br />{<br />    if (!<pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">)) retur.p<pspan>ospan> d" hreflafalse<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.((<pspan>ospan> d" hreflastrtolower<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) == <pspan>ospan> strp'> 'mailto'<pspan>ospan> keyword">) ? <pspan>ospan> strp'> '' <pspan>ospan> keyword">: <pspan>ospan> strp'> '//'<pspan>ospan> keyword">) : <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">].(isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">).<pspan>ospan> strp'> '@' <pspan>ospan> keyword">: <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    if(isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]))<br />    {<br />        <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= (<pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">],p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] : (<pspan>ospan> strp'> '/'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]);<br />    }<br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '#'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />    retur.p<pspan>ospan> d" hrefla$fui</span>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d104874">ar-r"> vs.phvvbar "clearfix"Vu104874">bar "crev"> e <dd><avs.p-ns.p.php.fix104874hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd104874">bar "crev"> e <dd><avs.p-ns.p.php.fix104874hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV104874"eases/fe47% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #104874"e typ">tur/strong us'rn. em>gustavo s=t andriuoloeat vulcabras s=t man s=t arL em></strong>L a><re gs tnchor"ev"> #104874">a&ch o;L a><lear dink reses/fe2011-07-12 06:31"><strong>6 years ago</strong>L </form> > <l </dHman104874">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Here's a meicod torge. tce REAL typpofra doen/n. Tcis retur.pjust ic. doen/n typ, s.eic. ">st. Fir<t camck if is not an IP, ic.n retur.pic. typ: <br /> <br />ospan> d" hrefla<?chp <br />   </span>ospan> keyword">inet/man <pspan>ospan> d" hreflaesip<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$ip_addr<pspan>ospan> keyword">) <br />{ <br />  <pspan>ospan> al/e<liav//fir<t ofralleic. ormat of ic. ipeadd">ss is matched <br />  <pspan>ospan> keyword">if(<pspan>ospan> d" hreflapreg_match<pspan>ospan> keyword">(<pspan>ospan> strp'> "/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/"<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$ip_addr<pspan>ospan> keyword">)) <br />  { <br />    <pspan>ospan> al/e<liav//now alleic. intger values are sech oted <br />    <pspan>ospan> d" hrefla$ch ts<pspan>ospan> keyword">=<pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "."<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$ip_addr<pspan>ospan> keyword">); <br />    <pspan>ospan> al/e<liav//now w. eed torcamck each ch tecan>range from 0-255 <br />    <pspan>ospan> keyword">ioreach(<pspan>ospan> d" hrefla$al/ts <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$ip_ch ts<pspan>ospan> keyword">) <br />    { <br />      if(<pspan>ospan> d" hreflaintval<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$ip_ch ts<pspan>ospan> keyword">)><pspan>ospan> d" hrefla255 <pspan>ospan> keyword">|| <pspan>ospan> d" hreflaintval<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$ip_ch ts<pspan>ospan> keyword">)<<pspan>ospan> d" hrefla0<pspan>ospan> keyword">) <br />      retur.p<pspan>ospan> d" hreflaFALSE<pspan>ospan> keyword">; <pspan>ospan> al/e<liav//if number is not within>range of 0-255 <br />    <pspan>ospan> keyword">} <br />    retur.p<pspan>ospan> d" hreflaTRUE<pspan>ospan> keyword">; <br />  } <br />  else <br />    retur.p<pspan>ospan> d" hreflaFALSE<pspan>ospan> keyword">; <pspan>ospan> al/e<liav//if ormat of ipeadd">ss doesn't matches <br /><pspan>ospan> keyword">} <br /> <br />    <br />    <br />    inet/man <pspan>ospan> d" hrefladoen/n<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$doen/nb<pspan>ospan> keyword">) <br />    { <br />    <pspan>ospan> d" hrefla$bits <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$doen/nb<pspan>ospan> keyword">); <br />    if (<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">]==<pspan>ospan> strp'> 'h t' <pspan>ospan> keyword">|| <pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">]==<pspan>ospan> strp'> 'h s:'<pspan>ospan> keyword">) <br />    { <br />    <pspan>ospan> d" hrefla$doen/nb<pspan>ospan> keyword">= <pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> d" hrefla2<pspan>ospan> keyword">]; <br />    } else { <br />    <pspan>ospan> d" hrefla$doen/nb<pspan>ospan> keyword">= <pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">]; <br />    } <br />    unset(<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">); <br />    <pspan>ospan> d" hrefla$bits <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '.'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$doen/nb<pspan>ospan> keyword">); <br />    <pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">=<pspan>ospan> d" hreflacouli<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">); <br />    <pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">-=<pspan>ospan> d" hrefla3<pspan>ospan> keyword">; <br />    if (<pspan>ospan> d" hreflastrlen<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[(<pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">+<pspan>ospan> d" hrefla2<pspan>ospan> keyword">)])==<pspan>ospan> d" hrefla2<pspan>ospan> keyword">) { <br />    <pspan>ospan> d" hrefla$tle</span>ospan> keyword">=<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">].<pspan>ospan> strp'> '.'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[(<pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">+<pspan>ospan> d" hrefla1<pspan>ospan> keyword">)].<pspan>ospan> strp'> '.'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[(<pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">+<pspan>ospan> d" hrefla2<pspan>ospan> keyword">)]; <br />    } else if (<pspan>ospan> d" hreflastrlen<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[(<pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">+<pspan>ospan> d" hrefla2<pspan>ospan> keyword">)])==<pspan>ospan> d" hrefla0<pspan>ospan> keyword">) { <br />    <pspan>ospan> d" hrefla$tle</span>ospan> keyword">=<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[(<pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">)].<pspan>ospan> strp'> '.'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[(<pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">+<pspan>ospan> d" hrefla1<pspan>ospan> keyword">)]; <br />    } else { <br />    <pspan>ospan> d" hrefla$tle</span>ospan> keyword">=<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[(<pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">+<pspan>ospan> d" hrefla1<pspan>ospan> keyword">)].<pspan>ospan> strp'> '.'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$bits<pspan>ospan> keyword">[(<pspan>ospan> d" hrefla$idz<pspan>ospan> keyword">+<pspan>ospan> d" hrefla2<pspan>ospan> keyword">)]; <br />    } <br />    retur.p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">; <br />    } <br />    <br />    <pspan>ospan> d" hrefla$add">ss</span>ospan> keyword">=<pspan>ospan> strp'> 'clients1.sub3.google.co.uk'</span>ospan> keyword">; <br />       <pspan>ospan> d" hrefla$ch sed_fun <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$add">ss</span>ospan> keyword">); <br />      <pspan>ospan> d" hrefla$camck <pspan>ospan> keyword">= <pspan>ospan> d" hreflaesip<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$ch sed_fun<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]); <br />    <pspan>ospan> d" hrefla$host <pspan>ospan> keyword">= <pspan>ospan> d" hrefla$ch sed_fun<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]; <br />    if (<pspan>ospan> d" hrefla$camck <pspan>ospan> keyword">== <pspan>ospan> d" hreflaFALSE<pspan>ospan> keyword">){ <br />        if (<pspan>ospan> d" hrefla$host <pspan>ospan> keyword">!= <pspan>ospan> strp'> ""<pspan>ospan> keyword">){ <br />        <pspan>ospan> d" hrefla$host <pspan>ospan> keyword">= <pspan>ospan> d" hrefladoen/n<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$host</span>ospan> keyword">); <br />        }else{ <br />        <pspan>ospan> d" hrefla$host <pspan>ospan> keyword">= <pspan>ospan> d" hrefladoen/n<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$add">ss</span>ospan> keyword">);    <br />            } <br />    } <br />    echo <pspan>ospan> d" hrefla$host</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla?> <br /><pspan>Tcis retur.: google.co.uk <br />'orev"> tmlsub1.sub2.sub3.exaorie.com:443"e IE 9nofollow rearg _blankvv tmlsub1.sub2.sub3.exaorie.com:443L a>'; <br />retur.: exaorie.com <br />'exaorie.com'; <br />retur.: exaorie.com <br /> <br />Many times  p <title retur.pnoicingmwh.n>doen/n is google.com only eexaorie. <br /> <br />Now, google.com, egoogle.co.uk will retur.pic. same. <br /> <br />Maybe is a little dirty, bu. works well eyp, i use ii g sgroup internet acc>ss log from squid. <br /> <br />Regards.<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d99973">ar-r"> vs.phvvbar "clearfix"Vu99973">bar "crev"> e <dd><avs.p-ns.p.php.fix99973hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd99973">bar "crev"> e <dd><avs.p-ns.p.php.fix99973hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV99973"eases/fe42% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #99973"e typ">tur/strong us'rn. em>mart/n at planio s=t manL em></strong>L a><re gs tnchor"ev"> #99973">a&ch o;L a><lear dink reses/fe2010-09-17 07:02"><strong>7 years ago</strong>L </form> > <l </dHman99973">bl></dd-top">chp ">d rfspan>v> </nav.w3.> F eicose of you sendingmURLs ineHTML emails with a redirecteadd">ss i.pic. uo; h strp'>, s.;eicat Hotmail unescapes / and : chh octers i.pic. uo; h strp'>. So>icat breaks ic. p <title() inet/man call. Tak;eicis as aneexaorie:<br />v"> orev"> tmlexaorie.com/redirect?tle= %3A%2F%2Fplanio.man" IE 9nofollow rearg _blankvv tmlexaorie.com/redirect?tle= %3A%2F%2Fplanio.manL a>"<br />Hotmail will trans orm ii g sicis:<br />v"> orev"> tmlexaorie.com/redirect?tle= tmlplanio.man" IE 9nofollow rearg _blankvv tmlexaorie.com/redirect?tle= tmlplanio.manL a>"<br /><br />Tc. solu/man is iorbe preventiverbeiore ic. calleio p <title():<br /><span> d" hrefla<?chp<br />$q_index <pspan>ospan> keyword">= <pspan>ospan> d" hreflastrpos</span>ospan> keyword">(<pspan>ospan> d" hrefla$fui</span>ospan> keyword">,p<pspan>ospan> strp'> '?'<pspan>ospan> keyword">);<br />if (<pspan>ospan> d" hrefla$q_index <pspan>ospan> keyword">!== <pspan>ospan> d" hreflaFALSE <pspan>ospan> keyword">hp?t=hp?t= <br />  (<pspan>ospan> d" hreflastrpos</span>ospan> keyword">(<pspan>ospan> d" hrefla$fui</span>ospan> keyword">,p<pspan>ospan> strp'> ':'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$q_index<pspan>ospan> keyword">) !== <pspan>ospan> d" hreflaFALSE <pspan>ospan> keyword">|| <pspan>ospan> d" hreflastrpos</span>ospan> keyword">(<pspan>ospan> d" hrefla$fui</span>ospan> keyword">,p<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$q_index<pspan>ospan> keyword">) !== <pspan>ospan> d" hreflaFALSE<pspan>ospan> keyword">)) {<br />  <pspan>ospan> d" hrefla$begi.p<pspan>ospan> keyword">= <pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fui</span>ospan> keyword">,p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$q_index<pspan>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$endp<pspan>ospan> keyword">= <pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fui</span>ospan> keyword">,p<pspan>ospan> d" hrefla$q_index<pspan>ospan> keyword">,p<pspan>ospan> d" hreflastrlen<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fui</span>ospan> keyword">)-<pspan>ospan> d" hrefla$q_index<pspan>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$endp<pspan>ospan> keyword">= <pspan>ospan> d" hreflastr_replac </span>ospan> keyword">(<pspan>ospan> strp'> '/'<pspan>ospan> keyword">,p<pspan>ospan> strp'> '%2F'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$end<pspan>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$endp<pspan>ospan> keyword">= <pspan>ospan> d" hreflastr_replac </span>ospan> keyword">(<pspan>ospan> strp'> ':'<pspan>ospan> keyword">,p<pspan>ospan> strp'> '%3A'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$end<pspan>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">= <pspan>ospan> d" hrefla$begi.<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$end<pspan>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d118134">ar-r"> vs.phvvbar "clearfix"Vu118134">bar "crev"> e <dd><avs.p-ns.p.php.fix118134hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd118134">bar "crev"> e <dd><avs.p-ns.p.php.fix118134hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV118134"eases/fe40% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #118134"e typ">tur/strong us'rn. em>mostafa at alfeh">st s=t orgL em></strong>L a><re gs tnchor"ev"> #118134">a&ch o;L a><lear dink reses/fe2015-10-12 04:40"><strong>2 years ago</strong>L </form> > <l </dHman118134">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Tcis inet/man will attempteio p <te IEativemURLs bu. IEayingman itecan>produce unexpectnd behavi eicatecan>cause some hard tortrack bugs. (Tc. ollowingm">srefs are obtainnd from PHP 5.5.19)<br /><br />Attemptingmio p <tea tle lik;eicis<br />orev"> tmlexaorie.com/entities/GOA:98/?search=8989157d1f22" IE 9nofollow rearg _blankvv tmlexaorie.com/entities/GOA:98/?search=8989157d1f22L a><br />Correctly>produces<br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">array (<br />  <pspan>ospan> strp'> 'scamp;' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'h '<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'host' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'exaorie.com'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'p th' <pspan>ospan> keyword">=> <pspan>ospan> strp'> '/entities/GOA:98/'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'uo; h' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'search=8989157d1f22'<pspan>ospan> keyword">,<br />);<br /><pspan>ospan> d" hrefla?><br /><pspan>obr />However, Attemptingmio p <teic. ">EativemURL <br />entities/GOA:98/?search=8989157d1f22Lbr /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">array (<br />  <pspan>ospan> strp'> 'host' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'entities'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'port' <pspan>ospan> keyword">=> <pspan>ospan> d" hrefla98<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'p th' <pspan>ospan> keyword">=> <pspan>ospan> strp'> '/GOA:98/'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'uo; h' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'search=8989157d1f22'<pspan>ospan> keyword">,<br />)<br /><pspan>ospan> d" hrefla?><br /><pspan>If I chhnge :98mio :A98mp <title p <ts ic. URL>vorrectly>as <br /><span> d" hrefla<?chp<br /><pspan>ospan> keyword">array (<br />  <pspan>ospan> strp'> 'p th' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'entities/GOA:A98/'<pspan>ospan> keyword">,<br />  <pspan>ospan> strp'> 'uo; h' <pspan>ospan> keyword">=> <pspan>ospan> strp'> 'search=8989157d1f22'<pspan>ospan> keyword">,<br />)<br /><pspan>ospan> d" hrefla?><br /><pspan>Bottom linn, Avoid usingmp <title e IEative tles unl>ss you havtr.estnd ic. expectnd input and you know p <title will hhndlteic.m well.<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d114307">ar-r"> vs.phvvbar "clearfix"Vu114307">bar "crev"> e <dd><avs.p-ns.p.php.fix114307hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd114307">bar "crev"> e <dd><avs.p-ns.p.php.fix114307hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV114307"eases/fe40% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #114307"e typ">tur/strong us'rn. em>webmastnr at bigbirdmedia s=t manL em></strong>L a><re gs tnchor"ev"> #114307">a&ch o;L a><lear dink reses/fe2014-02-05 04:56"><strong>3 years ago</strong>L </form> > <l </dHman114307">bl></dd-top">chp ">d rfspan>v> </nav.w3.> A siorie inet/man usingm"p <title"mio find ic. bas. URL>of ic. given linku<br /><br />ospan> d" hrefla<?chp<br /><br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflagetPrimaryDoen/n<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">) {<br />  <pspan>ospan> d" hrefla$tldp<pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">,<pspan>ospan> d" hreflaPHP_URL_HOST<pspan>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$tldArray <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "."<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$tld<pspan>ospan> keyword">);<br />  <br />  <pspan>ospan> al/e<liav// COUNTS THE POSITION IN THE ARRAY TO IDENTIFY THE TOP LEVEL DOMAIN (TLD)<br />  <pspan>ospan> d" hrefla$l1 <pspan>ospan> keyword">= <pspan>ospan> strp'> '0'</span>ospan> keyword">;<br />  <br />  ioreach(<pspan>ospan> d" hrefla$tldArray <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$s</span>ospan> keyword">) {<br />    <pspan>ospan> al/e<liav// CHECKS THE POSITION IN THE ARRAY TO SEE IF IT MATCHES ANY OF THE KNOWN TOP LEVEL DOMAINS (YOU CAN ADD TO THIS LIST)<br />    </span>ospan> keyword">if(<pspan>ospan> d" hrefla$s <pspan>ospan> keyword">== <pspan>ospan> strp'> 'com' <pspan>ospan> keyword">|| <pspan>ospan> d" hrefla$s <pspan>ospan> keyword">== <pspan>ospan> strp'> 'net' <pspan>ospan> keyword">|| <pspan>ospan> d" hrefla$s <pspan>ospan> keyword">== <pspan>ospan> strp'> 'info' <pspan>ospan> keyword">|| <pspan>ospan> d" hrefla$s <pspan>ospan> keyword">== <pspan>ospan> strp'> 'biz' <pspan>ospan> keyword">|| <pspan>ospan> d" hrefla$s <pspan>ospan> keyword">== <pspan>ospan> strp'> 'us' <pspan>ospan> keyword">|| <pspan>ospan> d" hrefla$s <pspan>ospan> keyword">== <pspan>ospan> strp'> 'co' <pspan>ospan> keyword">|| <pspan>ospan> d" hrefla$s <pspan>ospan> keyword">== <pspan>ospan> strp'> 'org' <pspan>ospan> keyword">|| <pspan>ospan> d" hrefla$s <pspan>ospan> keyword">== <pspan>ospan> strp'> 'p;'<pspan>ospan> keyword">) {<br />      <br />      <pspan>ospan> al/e<liav// CALCULATES THE SECOND LEVEL DOMAIN POSITION IN THE ARRAY ONCE THE POSITION OF THE TOP LEVEL DOMAIN IS IDENTIFIED<br />      <pspan>ospan> d" hrefla$l2 <pspan>ospan> keyword">= <pspan>ospan> d" hrefla$l1 <pspan>ospan> keyword">- <pspan>ospan> d" hrefla1<pspan>ospan> keyword">;    <br />    }<br />    else {<br />      <pspan>ospan> al/e<liav// INCREMENTS THE COUNTER FOR THE TOP LEVEL DOMAIN POSITION IF NO MATCH IS FOUND<br />      <pspan>ospan> d" hrefla$l1<pspan>ospan> keyword">++;<br />    }<br />  }<br />  <br />  <pspan>ospan> al/e<liav// RETURN THE SECOND LEVEL DOMAIN AND THE TOP LEVEL DOMAIN IN THE FORMAT LIKE "SOMEDOMAIN.COM"<br />  <pspan>ospan> keyword">echo <pspan>ospan> d" hrefla$tldArray<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$l2<pspan>ospan> keyword">] . <pspan>ospan> strp'> '.' <pspan>ospan> keyword">. <pspan>ospan> d" hrefla$tldArray<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$l1<pspan>ospan> keyword">];<br />}<br /><br /><pspan>ospan> al/e<liav// CALL THE FUNCTION - THIS EXAMPLE RETURNS "BITLY.COM"<br /><pspan>ospan> d" hreflagetPrimaryDoen/n<pspan>ospan> keyword">(<pspan>ospan> strp'> 'orev"> tmlwww.enterprise.bitly.com/?utm_source=homepsan" IE 9nofollow rearg _blankvv tmlwww.enterprise.bitly.com/?utm_source=homepsanL a>);<br /><br />?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d103297">ar-r"> vs.phvvbar "clearfix"Vu103297">bar "crev"> e <dd><avs.p-ns.p.php.fix103297hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd103297">bar "crev"> e <dd><avs.p-ns.p.php.fix103297hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV103297"eases/fe40% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #103297"e typ">tur/strong us'rn. em>Egor Ch'r sdarovL em></strong>L a><re gs tnchor"ev"> #103297">a&ch o;L a><lear dink reses/fe2011-04-06 01:34"><strong>6 years ago</strong>L </form> > <l </dHman103297">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Noticnd ic. ollowingmdifferences i.perror hhndling:<br /><br />ospan> d" hrefla<?chp <br />    print_r<pspan>ospan> keyword">(<pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> strp'> 'orev"> f tmlus'r:p word@host:port" IE 9nofollow rearg _blankvvf tmlus'r:p word@host:portL a>'<pspan>ospan> keyword">));<br /><pspan>ospan> d" hrefla?><br /><pspan>obr />In PHP 5.2.6 retur.s:<br />Array<br />(<br />    [scamp;] => f <br />    [host] => host<br />    [us'r] => us'r<br />    [p ] => p word<br />)<br /><br />port is just skippedu<br /><br />But i.pPHP 5.3.6 retur.s NULL without any warnp'>su<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d101433">ar-r"> vs.phvvbar "clearfix"Vu101433">bar "crev"> e <dd><avs.p-ns.p.php.fix101433hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd101433">bar "crev"> e <dd><avs.p-ns.p.php.fix101433hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV101433"eases/fe40% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #101433"e typ">tur/strong us'rn. em>bahtiar at gadimov s=t </em></strong>L a><re gs tnchor"ev"> #101433">a&ch o;L a><lear dink reses/fe2010-12-16 05:38"><strong>6 years ago</strong>L </form> > <l </dHman101433">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Hi,<br /><br />if you havtrproblems with UTF8 enc d tles pleas. see orev"> tmlbugs.php.net/bug.php.fix52923"e IE 9nofollow rearg _blankvv tmlbugs.php.net/bug.php.fix52923L a> . p <title breaks ic. utf8. :( You havtr.o ioriee<li it you <tlf.<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d118938">ar-r"> vs.phvvbar "clearfix"Vu118938">bar "crev"> e <dd><avs.p-ns.p.php.fix118938hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd118938">bar "crev"> e <dd><avs.p-ns.p.php.fix118938hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV118938"eases/fe33% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #118938"e typ">tur/strong us'rn. em>ivijan s=t st" hn at gmail s=t manL em></strong>L a><re gs tnchor"ev"> #118938">a&ch o;L a><lear dink reses/fe2016-03-02 01:23"><strong>1 year ago</strong>L </form> > <l </dHman118938">bl></dd-top">chp ">d rfspan>v> </nav.w3.> If you eed camck if URL>exists e s., h're is one myegood inet/man f eicatu<br /><br />ospan> d" hrefla<?chp<br /><br /><pspan>ospan> al/e<liav// Retur.pfalse eURL<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflafun_exists</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">=<pspan>ospan> strp'> ''<pspan>ospan> keyword">)<br />{<br />    if(empty(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">)) retur.p<pspan>ospan> d" hreflafalse<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$cfun <pspan>ospan> keyword">= <pspan>ospan> d" hreflacfun_inii<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">);<br />    <pspan>ospan> al/e<liav//don't fetch ic. actd>< psan, you only want torcamck ic. connec/man is ok<br />    <pspan>ospan> d" hreflacfun_setopi<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$cfun<pspan>ospan> keyword">, <pspan>ospan> d" hreflaCURLOPT_NOBODY<pspan>ospan> keyword">, <pspan>ospan> d" hreflatrue<pspan>ospan> keyword">);<br />    <pspan>ospan> d" hreflacfun_setopi<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$cfun<pspan>ospan> keyword">, <pspan>ospan> d" hreflaCURLOPT_CONNECTTIMEOUT <pspan>ospan> keyword">,<pspan>ospan> d" hrefla5<pspan>ospan> keyword">); <br />    <pspan>ospan> d" hreflacfun_setopi<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$cfun<pspan>ospan> keyword">, <pspan>ospan> d" hreflaCURLOPT_TIMEOUT <pspan>ospan> keyword">, <pspan>ospan> d" hrefla2<pspan>ospan> keyword">);<br />    <pspan>ospan> al/e<liav//do request<br />    <pspan>ospan> d" hrefla$">sref <pspan>ospan> keyword">= <pspan>ospan> d" hreflacfun_exec<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$cfun<pspan>ospan> keyword">);<br />    <pspan>ospan> al/e<liav//if request did not fail<br />    </span>ospan> keyword">if (<pspan>ospan> d" hrefla$">sref <pspan>ospan> keyword">!== <pspan>ospan> d" hreflafalse<pspan>ospan> keyword">) {<br />        <pspan>ospan> al/e<liav//if request was ok,rcamck ">spons. co <br />        <pspan>ospan> d" hrefla$statusCo <pspan>ospan> keyword">= <pspan>ospan> d" hreflacfun_g info<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$cfun<pspan>ospan> keyword">, <pspan>ospan> d" hreflaCURLINFO_HTTP_CODE<pspan>ospan> keyword">);  <br />        if ((int)<pspan>ospan> d" hrefla$statusCo <pspan>ospan> keyword">=== <pspan>ospan> d" hrefla200<pspan>ospan> keyword">) retur.p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">;  <br />        retur.p<pspan>ospan> d" hreflafalse<pspan>ospan> keyword">; <br />    }<br />    <pspan>ospan> d" hreflacfun_close<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$cfun<pspan>ospan> keyword">);<br />    retur.p<pspan>ospan> d" hreflafalse<pspan>ospan> keyword">;<br />}<br /><br />if(<pspan>ospan> d" hreflafun_exists</span>ospan> keyword">(<pspan>ospan> strp'> "orev"> tmlwww.google.com" IE 9nofollow rearg _blankvv tmlwww.google.comL a>"<pspan>ospan> keyword">)!==<pspan>ospan> d" hreflafalse<pspan>ospan> keyword">)<br />{<br />   <pspan>ospan> al/e<liav// URL>Exists<br /><pspan>ospan> keyword">}<br /><pspan>ospan> d" hrefla?><br /><pspan>Tcis can>help if you decidtr.o do some dynamic URL>al/enr esomeicingmwh.r. eed valida/mansu<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d86378">ar-r"> vs.phvvbar "clearfix"Vu86378">bar "crev"> e <dd><avs.p-ns.p.php.fix86378hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd86378">bar "crev"> e <dd><avs.p-ns.p.php.fix86378hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV86378"eases/fe33% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #86378"e typ">tur/strong us'rn. em>gautam at rogers s=t manL em></strong>L a><re gs tnchor"ev"> #86378">a&ch o;L a><lear dink reses/fe2008-10-15 11:08"><strong>9 years ago</strong>L </form> > <l </dHman86378">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Wcateabout usingmsomeicingmlik;eicisr.o safely enc ingmalleic. values icateare p nd inpic. uo; h portman?<br /><br />Exaorie input:<br /><rev"> tmlwww.exaorie.com/?fir<t=johnhp?t=> <t=smithhp?t=email=john@smith.com" IE 9nofollow rearg _blankvv tmlwww.exaorie.com/?fir<t=johnhp?t=> <t=smithhp?t=email=john@smith.comL a><br /><br />R>sref:<br /><rev"> tmlwww.exaorie.com/?fir<t=johnhp?t=> <t=smithhp?t=email=john%40smith.com" IE 9nofollow rearg _blankvv tmlwww.exaorie.com/?fir<t=johnhp?t=> <t=smithhp?t=email=john%40smith.comL a><br /><br />ospan> d" hrefla<?chp<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflasafeitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">) {<br />  <pspan>ospan> al/e<liav// Mak;esure we havtra strp'>r.o work with<br />  <pspan>ospan> keyword">if(!empty(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">)) {<br />    <pspan>ospan> al/e<liav// Expl into URL>keys<br />    <pspan>ospan> d" hrefla$funlist</span>ospan> keyword">=<pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">);<br /><br />    <pspan>ospan> al/e<liav// Mak;esure we havtra validm">sref set and a uo; h field<br />    </span>ospan> keyword">if(<pspan>ospan> d" hreflais_array<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">) hp?t=hp?t= isset(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "uo; h"<pspan>ospan> keyword">])) {<br />      <pspan>ospan> al/e<liav// Expl into key/value array<br />      <pspan>ospan> d" hrefla$keyvalue_list</span>ospan> keyword">=<pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "hp?t="<pspan>ospan> keyword">,(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "uo; h"<pspan>ospan> keyword">]));<br /><br />      <pspan>ospan> al/e<liav// Store ">srefp'>rkey/value pair<<br />      <pspan>ospan> d" hrefla$keyvalue_">sref</span>ospan> keyword">=array();<br /><br />      ioreach(<pspan>ospan> d" hrefla$keyvalue_list <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$key</span>ospan> keyword">=><pspan>ospan> d" hrefla$value<pspan>ospan> keyword">) {<br />        <pspan>ospan> al/e<liav// Expl each in></idd>< key/value into an>array<br />        <pspan>ospan> d" hrefla$keyvalue</span>ospan> keyword">=<pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> "="<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$value<pspan>ospan> keyword">);<br /><br />        <pspan>ospan> al/e<liav// Mak;esure we havtra key=value">array<br />        <pspan>ospan> keyword">if(<pspan>ospan> d" hreflacouli<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$keyvalue</span>ospan> keyword">)==<pspan>ospan> d" hrefla2<pspan>ospan> keyword">) {<br />          <pspan>ospan> al/e<liav// Enc eic. value portman<br />          <pspan>ospan> d" hrefla$keyvalue</span>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">]=<pspan>ospan> d" hreflaurlenc </span>ospan> keyword">(<pspan>ospan> d" hrefla$keyvalue</span>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">]);<br /><br />          <pspan>ospan> al/e<liav// Add our key and enc d value into ic. ">sref<br />          <pspan>ospan> d" hreflaarray_push</span>ospan> keyword">(<pspan>ospan> d" hrefla$keyvalue_">sref</span>ospan> keyword">,<pspan>ospan> d" hreflaiori </span>ospan> keyword">(<pspan>ospan> strp'> "="<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$keyvalue</span>ospan> keyword">));<br />        }<br />      }<br /><br />      <pspan>ospan> al/e<liav// Repopulate our uo; h key with enc d ">srefs<br />      <pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "uo; h"<pspan>ospan> keyword">]=<pspan>ospan> d" hreflaiori </span>ospan> keyword">(<pspan>ospan> strp'> "hp?t="<pspan>ospan> keyword">,<pspan>ospan> d" hrefla$keyvalue_">sref</span>ospan> keyword">);<br /><br />      <pspan>ospan> al/e<liav// Build ic. ic. in>< output URL<br />      <pspan>ospan> d" hrefla$fun</span>ospan> keyword">=(isset(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "scamp;"<pspan>ospan> keyword">])?<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "scamp;"<pspan>ospan> keyword">].<pspan>ospan> strp'> "://"<pspan>ospan> keyword">:<pspan>ospan> strp'> ""<pspan>ospan> keyword">).<br />           (isset(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "us'rn<pspan>ospan> keyword">])?<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "us'rn<pspan>ospan> keyword">].<pspan>ospan> strp'> ":"<pspan>ospan> keyword">:<pspan>ospan> strp'> ""<pspan>ospan> keyword">).<br />           (isset(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "p n<pspan>ospan> keyword">])?<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "p n<pspan>ospan> keyword">].<pspan>ospan> strp'> "@"<pspan>ospan> keyword">:<pspan>ospan> strp'> ""<pspan>ospan> keyword">).<br />           (isset(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "hostn<pspan>ospan> keyword">])?<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "hostn<pspan>ospan> keyword">]:<pspan>ospan> strp'> ""<pspan>ospan> keyword">).<br />           (isset(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "p; [h<pspan>ospan> keyword">])?<pspan>ospan> an>ospan> strp'> ":"<pspan>ospan>eyword">.<pspan>ospan> d"funlist</span>ospan> keyword">[<pspan>ospan> strp'> "p; [h<pspan>ospan> keyword">]:<pspan>ospan> strp'> ""<pspan>ospan> keyword">).<br />           (isset(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "pathn<pspan>ospan> keyword">])?<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "pathn<pspan>ospan> keyword">]:<pspan>ospan> strp'> ""<pspan>ospan> keyword">).<br />           (isset(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "uo; h"<pspan>ospan> keyword">])?<pspan>ospan> an>ospan>? strp'> ":"<pspan>ospan>eyword">.<pspan>ospan> d"funlist</span>ospan> keyword">[<pspan>ospan> strp'> "uo; h"<pspan>ospan> keyword">]:<pspan>ospan> strp'> ""<pspan>ospan> keyword">).<br />           (isset(<pspan>ospan> d" hrefla$funlist</span>ospan> keyword">[<pspan>ospan> strp'> "frage<lia<pspan>ospan> keyword">])?<pspan>ospan> an>ospan># strp'> ":"<pspan>ospan>eyword">.<pspan>ospan> d"funlist</span>ospan> keyword">[<pspan>ospan> strp'> "frage<lia<pspan>ospan> keyword">]:<pspan>ospan> strp'> ""<pspan>ospan> keyword">);<br />    }<br />  }<br />  <br />  retur.p<pspan>ospan> d" hrefla$tle</span>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d85963">ar-r"> vs.phvvbar "clearfix"Vu85963">bar "crev"> e <dd><avs.p-ns.p.php.fix85963hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd85963">bar "crev"> e <dd><avs.p-ns.p.php.fix85963hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV85963"eases/fe33% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #85963"e typ">tur/strong us'rn. em>ilja at radusca s=t manL em></strong>L a><re gs tnchor"ev"> #85963">a&ch o;L a><lear dink reses/fe2008-09-26 04:26"><strong>9 years ago</strong>L </form> > <l </dHman85963">bl></dd-top">chp ">d rfspan>v> </nav.w3.> H're is an>updink to ic. glue_tle() inet/man. <br /> <br />Itecan>now hhndlte IEativemURLs if only 'p th' is provided. <br /> <br />ospan> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaglue_tle</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">) { <br />    if (!<pspan>ospan> d" hreflais_array<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">)) { <br />        retur.p<pspan>ospan> d" hreflafalse<pspan>ospan> keyword">; <br />    } <br /> <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.((<pspan>ospan> d" hreflastrtolower<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) == <pspan>ospan> strp'> 'pailto'<pspan>ospan> keyword">) ? <pspan>ospan> strp'> '' <pspan>ospan> keyword">: <pspan>ospan> strp'> '//'<pspan>ospan> keyword">) : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">].(isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p '<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">).<pspan>ospan> strp'> '@' <pspan>ospan> keyword">: <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br /> <br />    if (isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">])) { <br />        <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= (<pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">],p<pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) ? <br />            <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] : ((!empty(<pspan>ospan> d" hrefla$fui</span>ospan> keyword">) ? <pspan>ospan> strp'> '/' <pspan>ospan> keyword">: <pspan>ospan> strp'> '' <pspan>ospan> keyword">) . <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]); <br />    } <br /> <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '#'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'frage<li'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br /> <br />    retur.p<pspan>ospan> d" hrefla$tli</span>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?><pspan> .pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d85276">ar-r"> vs.phvvbar "clearfix"Vu85276">bar "crev"> e <dd><avs.p-ns.p.php.fix85276hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd85276">bar "crev"> e <dd><avs.p-ns.p.php.fix85276hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV85276"eases/fe33% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #85276"e typ">tur/strong us'rn. em>marco p nichiL em></strong>L a><re gs tnchor"ev"> #85276">a&ch o;L a><lear dink reses/fe2008-08-23 01:47"><strong>9 years ago</strong>L </form> > <l </dHman85276">bl></dd-top">chp ">d rfspan>v> </nav.w3.> my inet/man catch ic. tle writtenman ic. browenr by ic. tenr and dots ic. styp icingmof p <title. bu. better, I icink. I don't lik;ep <title because it stys notcingmabout eiee<lis icateit dotsn't find inpic. tle. my inet/man instead retur.pan>empty strp'>u<br /><br />ospan> d" hrefla<?chp<br /></span>ospan> keyword">inet/man <pspan>ospan> d" hreflaget_tle</span>ospan> keyword">()<br />{<br />    <pspan>ospan> d" hrefla$arr <pspan>ospan> keyword">= array();<br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">= <pspan>ospan> d" hrefla$_SERVER<pspan>ospan> keyword">[<pspan>ospan> strp'> 'REQUEST_URI'<pspan>ospan> keyword">];<br /><br />    <pspan>ospan> al/e<liav// uo; h<br />    <pspan>ospan> d" hrefla$x <pspan>ospan> keyword">= <pspan>ospan> d" hreflaarray_pad<pspan>ospan> keyword">( <pspan>ospan> d" hreflaexpl </span>ospan> keyword">( <pspan>ospan> strp'> '?'<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">), <pspan>ospan> d" hrefla2<pspan>ospan> keyword">, <pspan>ospan> d" hreflafalse <pspan>ospan> keyword">);<br />    <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] = ( <pspan>ospan> d" hrefla$x<pspan>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">] )? <pspan>ospan> d" hrefla$x<pspan>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">] : <pspan>ospan> strp'> '' <pspan>ospan> keyword">;<br /><br />    <pspan>ospan> al/e<liav// resource<br />    <pspan>ospan> d" hrefla$x         <pspan>ospan> keyword">= <pspan>ospan> d" hreflaarray_pad<pspan>ospan> keyword">( <pspan>ospan> d" hreflaexpl </span>ospan> keyword">( <pspan>ospan> strp'> '/'<pspan>ospan> keyword">, <pspan>ospan> d" hrefla$x<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">] ), <pspan>ospan> d" hrefla2<pspan>ospan> keyword">, <pspan>ospan> d" hreflafalse <pspan>ospan> keyword">);<br />    <pspan>ospan> d" hrefla$x_ f <pspan>ospan> keyword">= <pspan>ospan> d" hreflaarray_pop<pspan>ospan> keyword">( <pspan>ospan> d" hrefla$x <pspan>ospan> keyword">);<br />    if( <pspan>ospan> d" hreflastrpos</span>ospan> keyword">( <pspan>ospan> d" hrefla$x_ f<pspan>ospan> keyword">, <pspan>ospan> strp'> '.' <pspan>ospan> keyword">) === <pspan>ospan> d" hreflafalse <pspan>ospan> keyword">)<br />    {<br />        <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'resource'<pspan>ospan> keyword">] = <pspan>ospan> strp'> ''</span>ospan> keyword">;<br />        <pspan>ospan> d" hrefla$x<pspan>ospan> keyword">[] = <pspan>ospan> d" hrefla$x_ f<pspan>ospan> keyword">;<br />    }<br />    else<br />    {<br />        <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'resource'<pspan>ospan> keyword">] = <pspan>ospan> d" hrefla$x_ f<pspan>ospan> keyword">;<br />    }<br /><br />    <pspan>ospan> al/e<liav// p th    <br />    <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] = <pspan>ospan> d" hreflaiori </span>ospan> keyword">( <pspan>ospan> strp'> '/'<pspan>ospan> keyword">, <pspan>ospan> d" hrefla$x <pspan>ospan> keyword">);<br />    if( <pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">( <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">], -<pspan>ospan> d" hrefla1 <pspan>ospan> keyword">) !== <pspan>ospan> strp'> '/' <pspan>ospan> keyword">) <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] .= <pspan>ospan> strp'> '/'<pspan>ospan> keyword">;<br /><br />    <pspan>ospan> al/e<liav// doen/n<br />    <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'doen/n'<pspan>ospan> keyword">]    = <pspan>ospan> d" hrefla$_SERVER<pspan>ospan> keyword">[<pspan>ospan> strp'> 'SERVER_NAME'<pspan>ospan> keyword">];<br /><br />    <pspan>ospan> al/e<liav// scamp;<br />    <pspan>ospan> d" hrefla$server_prt        <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">( <pspan>ospan> strp'> '/'<pspan>ospan> keyword">, <pspan>ospan> d" hrefla$_SERVER<pspan>ospan> keyword">[<pspan>ospan> strp'> 'SERVER_PROTOCOL'<pspan>ospan> keyword">] );<br />    <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]    = <pspan>ospan> d" hreflastrtolower<pspan>ospan> keyword">( <pspan>ospan> d" hrefla$server_prt<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">] );<br /><br />    <pspan>ospan> al/e<liav// tle<br />    <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'tle'<pspan>ospan> keyword">] = <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> '://'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> strp'> 'doen/n'<pspan>ospan> keyword">]eyword">.<pspan>ospan> d"fui</span>ospan> keyword">;<br /><br />    retur.p<pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?><br /><pspan>obr />PS: I found workingmwith expl is f fe eican usingmpreg_match (I tryedmwith getmicrotime inet/man and 'for' cycles)u<br /><br />PPS: I u nd array_pad to prev<li any noticnu<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d81822">ar-r"> vs.phvvbar "clearfix"Vu81822">bar "crev"> e <dd><avs.p-ns.p.php.fix81822hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd81822">bar "crev"> e <dd><avs.p-ns.p.php.fix81822hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV81822"eases/fe33% lik;eicis...">bar "-1 alt=" </ul" </ul"rev"> #81822"e typ">tur/strong us'rn. em>Nico Merlet - admin(at)merletn.orgL em></strong>L a><re gs tnchor"ev"> #81822">a&ch o;L a><lear dink reses/fe2008-03-14 07:05"><strong>9 years ago</strong>L </form> > <l </dHman81822">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Pleas. s.p icatep <title seems not to produce alwtys ic. styp ">srefsmwh.n p ingmnon-standard tlesu<br /><br />Eg. I was usingmicisrc esince 2005 (both unde ePHP 4.3.10 and PHP 5.2.3) :<br /><br />ospan> d" hrefla<?chp<br /><br />  $p <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title </span>ospan> keyword">( <pspan>ospan> strp'> '<rev"> tmldoen/n.tld/tc tmldoen/n2.tld/dir/filn" IE 9nofollow rearg _blankvv tmldoen/n.tld/tc tmldoen/n2.tld/dir/filnL a>' <pspan>ospan> keyword">) ;<br /><br />  <pspan>ospan> d" hrefla$d2 <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title </span>ospan> keyword">( <pspan>ospan> d" hrefla$a<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] ) ;<br /><br />  echo <pspan>ospan> d" hrefla$d2 <pspan>ospan> keyword">;  <pspan>ospan> al/e<liav// retur.s '/dir/filn'<br /><br />opspan>ospan> d" hrefla?><br /><pspan>obr />Ofrc u <t my exaorie is v; h specific, as URL>is not reallyrc rrect. But usingmp <title was a great trick io split URL>easilyr(without usingmregular exp">ssmans)u<br /><br />Unfortuninklyrunde ePHP 5.2.0-8 (+etch10),mp <title will fail as it dots not accept ic. s h (/) at ic. beginningmof URLu<br /><br />H're is a possmbl;ep tch :<br /><br />ospan> d" hrefla<?chp<br /><br />  $p <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title </span>ospan> keyword">( <pspan>ospan> strp'> '<rev"> tmldoen/n.tld/tc tmldoen/n2.tld/dir/filn" IE 9nofollow rearg _blankvv tmldoen/n.tld/tc tmldoen/n2.tld/dir/filnL a>' <pspan>ospan> keyword">) ;<br /><br />  <pspan>ospan> d" hrefla$d2 <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title </span>ospan> keyword">( <pspan>ospan> d" hreflasubstr </span>ospan> keyword">( <pspan>ospan> d" hrefla$a<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] ,p<pspan>ospan> d" hrefla1 <pspan>ospan> keyword">) ) ;<br /><br />  echo <pspan>ospan> d" hrefla$d2 <pspan>ospan> keyword">;  <pspan>ospan> al/e<liav// retur.s '/dir/filn'<br /><br />opspan>ospan> d" hrefla?><br /><pspan>obr />Howev<rmicisrl f c is not optimiznd atmall, and should be replacnd by a regular exp">ssman io split URL>(so icatep <title would be no long<rmu nd)u<br /><br />So you should use p <title v; h ca"> ully, and v; ify icateyou p only standard URLs...<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d82948">ar-r"> vs.phvvbar "clearfix"Vu82948">bar "crev"> e <dd><avs.p-ns.p.php.fix82948hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd82948">bar "crev"> e <dd><avs.p-ns.p.php.fix82948hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV82948"reses/fe28% lik;eicis...">bar "-3 alt=" </ul" </ul"rev"> #82948"r typ">tur/strong us'rn. em>jbr ateya-right s=t manL em></strong>L a><re gs tnchor"ev"> #82948">a&ch o;L a><lear dink reses/fe2008-05-02 08:24"><strong>9 years ago</strong>L </form> > <l </dHman82948">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Tcis inet/man nev<rmworks ic. wtyeyou icink it should...<br /><br />Exaorie....<br /><br />ospan> d" hrefla<?chp<br /><br />prp't_r </span>ospan> keyword">( <pspan>ospan> d" hreflap <title </span>ospan> keyword">( <pspan>ospan> strp'> 'me:you@sub.si.p.org/pear/valida/e.v.w3?happy=mehp?t=sad=you#tle' <pspan>ospan> keyword">) );<br /><br />opspan>ospan> d" hrefla?><br /><pspan>obr />Retur.s...<br /><br />Array<br />(<br />    [scamp;] => p;<br />    [p th] => you@sub.si.p.org/pear/valida/e.v.w3<br />    [uo; h] => happy=mehp?t=sad=you<br />    [frage<li] => tle<br />)<br /><br />H're my wtyeof doingmp <title<br /><br />ospan> d" hrefla<?chp<br /><br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflap <tUle </span>ospan> keyword">( <pspan>ospan> d" hrefla$tle </span>ospan> keyword">)<br />{<br />    <pspan>ospan> d" hrefla$r  <pspan>ospan> keyword">= <pspan>ospan> strp'> '!(?:(\w+)tml)?(?:(\w+)\:(\w+)@)?([^/:]+)?'<pspan>ospan> keyword">;<br />    <pspan>ospan> d" hrefla$r </span>ospan> keyword">.= <pspan>ospan> strp'> '(?:\:(\d*))?([^#?]+)?(?:\?([^#]+))?(?:#(.+$))?!i'<pspan>ospan> keyword">;<br /><br />    <pspan>ospan> d" hreflapreg_match </span>ospan> keyword">( <pspan>ospan> d" hrefla$r<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">, <pspan>ospan> d" hrefla$out </span>ospan> keyword">);<br /><br />    retur.p<pspan>ospan> d" hrefla$out<pspan>ospan> keyword">;<br />}<br /><br />opspan>ospan> d" hreflaprp't_r </span>ospan> keyword">( <pspan>ospan> d" hreflap <tUle </span>ospan> keyword">( <pspan>ospan> strp'> 'me:you@sub.si.p.org/pear/valida/e.v.w3?happy=mehp?t=sad=you#tle' <pspan>ospan> keyword">) );<br /><br />opspan>ospan> d" hrefla?><br /><pspan>obr />Retur.s...<br /><br />Array<br />(<br />    [0] => p;:you@sub.si.p.org/pear/valida/e.v.w3?happy=mehp?t=sad=you#tle<br />    [1] => <br />    [2] => p;<br />    [3] => you<br />    [4] => sub.si.p.org<br />    [5] => <br />    [6] => /pear/valida/e.v.w3<br />    [7] => happy=mehp?t=sad=you<br />    [8] => tle<br />)<br /><br />Wh.r. as...<br /><br />out[0] = ull tle<br />out[1] = scamp; e'' if no scamp; was found<br />out[2] = tenr typ e'' if no auth uenr typ was found<br />out[3] = p word e'' if no auth p word was found<br />out[4] = doen/n typ e'' if no doen/n typ was found<br />out[5] = port numbnr e'' if no port numbnr was found<br />out[6] = p th e'' if no p th was found<br />out[7] = uo; h e'' if no uo; h was found<br />out[8] = rage<li e'' if no rage<li was found<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d119017">ar-r"> vs.phvvbar "clearfix"Vu119017">bar "crev"> e <dd><avs.p-ns.p.php.fix119017hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd119017">bar "crev"> e <dd><avs.p-ns.p.php.fix119017hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV119017"reses/fe25% lik;eicis...">bar "-2 alt=" </ul" </ul"rev"> #119017"r typ">tur/strong us'rn. em>mprz1024 ategpail s=t manL em></strong>L a><re gs tnchor"ev"> #119017">a&ch o;L a><lear dink reses/fe2016-03-17 10:41"><strong>1 year ago</strong>L </form> > <l </dHman119017">bl></dd-top">chp ">d rfspan>v> </nav.w3.> So whyman Earth dots p <title('filn:1') work while p <title('filn:0') retur.s false?<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d99490">ar-r"> vs.phvvbar "clearfix"Vu99490">bar "crev"> e <dd><avs.p-ns.p.php.fix99490hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd99490">bar "crev"> e <dd><avs.p-ns.p.php.fix99490hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV99490"reses/fe23% lik;eicis...">bar "-7 alt=" </ul" </ul"rev"> #99490"r typ">tur/strong us'rn. em>przmp;k atesobstel s=t orgL em></strong>L a><re gs tnchor"ev"> #99490">a&ch o;L a><lear dink reses/fe2010-08-19 01:44"><strong>7 years ago</strong>L </form> > <l </dHman99490">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Ifeyou want to get host, inet/man will retur.pNULL if you p only host.<br /><br />Exaorie:<br /><br />ospan> d" hrefla<?chp<br />p <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">, <pspan>ospan> d" hreflaPHP_URL_HOST</span>ospan> keyword">);<br /><pspan>ospan> d" hrefla?><br /><pspan>obr />$tle => value retur.ed<br /><br />orev"> tmlexaorie.com" IE 9nofollow rearg _blankvv tmlexaorie.comL a> => strp'>r'exaorie.com' (lengthx11)<br />orev"> tmlwww.exaorie.com" IE 9nofollow rearg _blankvv tmlwww.exaorie.comL a> =>strp'>r'www.exaorie.com' (lengthx15)<br />orev"> tmlwww.exaorie.com:8080" IE 9nofollow rearg _blankvv tmlwww.exaorie.com:8080L a> => strp'>r'www.exaorie.com' (lengthx15)<br />exaorie.com => null<br />www.exaorie.com => null<br />exaorie.com:8080 => strp'>r'exaorie.com' (lengthx11)<br />www.exaorie.com:8080 => strp'>r'www.exaorie.com' (lengthx15)<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d73883">ar-r"> vs.phvvbar "clearfix"Vu73883">bar "crev"> e <dd><avs.p-ns.p.php.fix73883hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd73883">bar "crev"> e <dd><avs.p-ns.p.php.fix73883hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV73883"reses/fe20% lik;eicis...">bar "-3 alt=" </ul" </ul"rev"> #73883"r typ">tur/strong us'rn. em>Marc-Antoine RossL em></strong>L a><re gs tnchor"ev"> #73883">a&ch o;L a><lear dink reses/fe2007-03-14 08:10"><strong>10 years ago</strong>L </form> > <l </dHman73883">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Do not look ior ic. rage<li /n $_SERVER['QUERY_STRING'],eyou will not find it. You should read ic. rage<li /n JavaScript ior exaorie.<pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120899">ar-r"> vs.phvvbar "clearfix"Vu120899">bar "crev"> e <dd><avs.p-ns.p.php.fix120899hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120899">bar "crev"> e <dd><avs.p-ns.p.php.fix120899hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120899"eases/fe0% lik;eicis...">bar "-3 alt=" </ul" </ul"rev"> #120899"e typ">tur/strong us'rn. em>AnonymousL em></strong>L a><re gs tnchor"ev"> #120899">a&ch o;L a><lear dink reses/fe2017-03-29 07:29"><strong>7 months ago</strong>L </form> > <l </dHman120899">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Tcanks to xenlisx ior cis p <tiuo; h .net/manu I u nd ii /n one of my projects and ii works wenl. But ii has an>erroru I fixed ic. error and improvnd ii a lites/ bit. H're is my versman of it:<br /><br />ospan> d" hrefla<?chp<br /><pspan>ospan> al/e<liav// Origin><ly writtenmby xenlisx<br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflap <tiuo; h</span>ospan> keyword">(<pspan>ospan> d" hrefla$var<pspan>ospan> keyword">)<br />{<br />  <pspan>ospan> al/e<liav/**<br />   *  Us;eicis inet/man to p <t out ic. uo; h array eiee<li romLbr />   *  ic. output of p <title().<br />   */<br />  <pspan>ospan> d" hrefla$var  <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$var<pspan>ospan> keyword">, <pspan>ospan> d" hreflaPHP_URL_QUERY</span>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$var  <pspan>ospan> keyword">= <pspan>ospan> d" hreflav.w3_<liity_dec </span>ospan> keyword">(<pspan>ospan> d" hrefla$var<pspan>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$var  <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> 'hp?t='<pspan>ospan> keyword">, <pspan>ospan> d" hrefla$var<pspan>ospan> keyword">);<br />  <pspan>ospan> d" hrefla$arr  <pspan>ospan> keyword">= array();<br /><br />  ioreach(<pspan>ospan> d" hrefla$var <pspan>ospan> keyword">as <pspan>ospan> d" hrefla$vae</span>ospan> keyword">)<br />   {<br />    <pspan>ospan> d" hrefla$x          <pspan>ospan> keyword">= <pspan>ospan> d" hreflaexpl </span>ospan> keyword">(<pspan>ospan> strp'> '='<pspan>ospan> keyword">, <pspan>ospan> d" hrefla$vae</span>ospan> keyword">);<br />    <pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">[<pspan>ospan> d" hrefla$x<pspan>ospan> keyword">[<pspan>ospan> d" hrefla0<pspan>ospan> keyword">]] = <pspan>ospan> d" hrefla$x<pspan>ospan> keyword">[<pspan>ospan> d" hrefla1<pspan>ospan> keyword">];<br />   }<br />  unset(<pspan>ospan> d" hrefla$vae</span>ospan> keyword">, <pspan>ospan> d" hrefla$x<pspan>ospan> keyword">, <pspan>ospan> d" hrefla$var<pspan>ospan> keyword">);<br />  retur.p<pspan>ospan> d" hrefla$arr<pspan>ospan> keyword">;<br />}<br /><pspan>ospan> d" hrefla?><br /><pspan>obr />At ic. irst lin. ic.rp was p <tiuo; h($vae), I made it $varu It u nd to retur.pa null array beioreeicis iix.<br /><br />I have added ic. p <title lin.. So>now ic. net/man will only focus inpic. uo; h p t, not tc. wholemURL. Tcis is us> ul if sometcingmlik;ebelow is done:<br />ospan> d" hrefla<?chp<br />$my_GET <pspan>ospan> keyword">= <pspan>ospan> d" hreflap <tiuo; h</span>ospan> keyword">(<pspan>ospan> d" hrefla$_SERVER<pspan>ospan> keyword">[<pspan>ospan> strp'> 'REQUEST_URI'<pspan>ospan> keyword">]);<br /><pspan>ospan> d" hrefla?><pspan>orev"> s://vb.3dlat.net/" IE 9nofollow rearg _blankvv s://vb.3dlat.net/L a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120898">ar-r"> vs.phvvbar "clearfix"Vu120898">bar "crev"> e <dd><avs.p-ns.p.php.fix120898hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120898">bar "crev"> e <dd><avs.p-ns.p.php.fix120898hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120898"eases/fe0% lik;eicis...">bar "-3 alt=" </ul" </ul"rev"> #120898"r typ">tur/strong us'rn. em>AnonymousL em></strong>L a><re gs tnchor"ev"> #120898">a&ch o;L a><lear dink reses/fe2017-03-29 07:29"><strong>7 months ago</strong>L </form> > <l </dHman120898">bl></dd-top">chp ">d rfspan>v> </nav.w3.> ospan> d" hrefla<?chp<br />$tle </span>ospan> keyword">= <pspan>ospan> strp'> '/lwww.exaorie.com/p th?googleguy=googleh'<pspan>ospan> keyword">;<br /><br />opspan>ospan> al/e<liav// An.ph de 5.4.7, esto mostrarĂ­a la ruta mano "/lwww.exaorie.com/p th"<br /><pspan>ospan> d" hreflavar_duma<pspan>ospan> keyword">(<pspan>ospan> d" hreflap <title</span>ospan> keyword">(<pspan>ospan> d" hrefla$fun<pspan>ospan> keyword">));<br /><pspan>ospan> d" hrefla?><br /><pspan>orev"> s://vb.3dlat.net/" IE 9nofollow rearg _blankvv s://vb.3dlat.net/L a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120897">ar-r"> vs.phvvbar "clearfix"Vu120897">bar "crev"> e <dd><avs.p-ns.p.php.fix120897hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120897">bar "crev"> e <dd><avs.p-ns.p.php.fix120897hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120897"eases/fe0% lik;eicis...">bar "-3 alt=" </ul" </ul"rev"> #120897"r typ">tur/strong us'rn. em>AnonymousL em></strong>L a><re gs tnchor"ev"> #120897">a&ch o;L a><lear dink reses/fe2017-03-29 07:23"><strong>7 months ago</strong>L </form> > <l </dHman120897">bl></dd-top">chp ">d rfspan>v> </nav.w3.> Do not look ior ic. rage<li /n $_SERVER['QUERY_STRING'],eyou will not find it. You should read ic. rage<li /n JavaScript ior exaorie.<br />orev"> s://vb.3dlat.net/" IE 9nofollow rearg _blankvv s://vb.3dlat.net/L a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120892">ar-r"> vs.phvvbar "clearfix"Vu120892">bar "crev"> e <dd><avs.p-ns.p.php.fix120892hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120892">bar "crev"> e <dd><avs.p-ns.p.php.fix120892hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120892"eases/fe0% lik;eicis...">bar "-3 alt=" </ul" </ul"rev"> #120892"e typ">tur/strong us'rn. em>AnonymousL em></strong>L a><re gs tnchor"ev"> #120892">a&ch o;L a><lear dink reses/fe2017-03-29 06:59"><strong>7 months ago</strong>L </form> > <l </dHman120892">bl></dd-top">chp ">d rfspan>v> </nav.w3.> It may be worth Imindingmicat ic. value of ic. # rage<li nev<rmg s sent to ic. server.  Anchors proce ingmis exclusivklyrclient-side.<br />orev"> s://vb.3dlat.net/" IE 9nofollow rearg _blankvv s://vb.3dlat.net/L a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120669">ar-r"> vs.phvvbar "clearfix"Vu120669">bar "crev"> e <dd><avs.p-ns.p.php.fix120669hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120669">bar "crev"> e <dd><avs.p-ns.p.php.fix120669hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120669"eases/fe0% lik;eicis...">bar "-3 alt=" </ul" </ul"rev"> #120669"e typ">tur/strong us'rn. em>normaaliiL em></strong>L a><re gs tnchor"ev"> #120669">a&ch o;L a><lear dink reses/fe2017-02-19 05:56"><strong>9 months ago</strong>L </form> > <l </dHman120669">bl></dd-top">chp ">d rfspan>v> </nav.w3.> H're is an updink to ic. glueitle() .net/manu <br /> <br />It can now handle relativk URLs if only 'p th' is providedu <br /> <br />ospan> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaglueitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">) { <br />    if (!<pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">)) { <br />        retur.p<pspan>ospan> d" hreflafalse<pspan>ospan> keyword">; <br />    } <br /> <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.((<pspan>ospan> d" hreflastrtolower<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) == <pspan>ospan> strp'> 'pailto'<pspan>ospan> keyword">) ? <pspan>ospan> strp'> '' <pspan>ospan> keyword">: <pspan>ospan> strp'> '//'<pspan>ospan> keyword">) : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">].(isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p ss'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p ss'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">).<pspan>ospan> strp'> '@' <pspan>ospan> keyword">: <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br /> <br />    if (isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">])) { <br />        <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= (<pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">], <pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) ? <br />            <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] : ((!empty(<pspan>ospan> d" hrefla$fui</span>ospan> keyword">) ? <pspan>ospan> strp'> '/' <pspan>ospan> keyword">: <pspan>ospan> strp'> '' <pspan>ospan> keyword">) . <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]); <br />    } <br /> <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> ' rage<li'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '#'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> ' rage<li'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br /> <br />    retur.p<pspan>ospan> d" hrefla$fui</span>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?> <br /><pspan>up <br />s="""2span> .p >L e </a> L e </a>L e </bar-r"> ecuk </d120548">ar-r"> vs.phvvbar "clearfix"Vu120548">bar "crev"> e <dd><avs.p-ns.p.php.fix120548hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd120548">bar "crev"> e <dd><avs.p-ns.p.php.fix120548hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV120548"eases/fe0% lik;eicis...">bar "-3 alt=" </ul" </ul"rev"> #120548"r typ">tur/strong us'rn. em>wrdshaan>ategpail s=t manL em></strong>L a><re gs tnchor"ev"> #120548">a&ch o;L a><lear dink reses/fe2017-01-28 07:00"><strong>9 months ago</strong>L </form> > <l </dHman120548">bl></dd-top">chp ">d rfspan>v> </nav.w3.> H're is an updink to ic. glueitle() .net/manu <br /><br />It can now handle relativk URLs if only 'p th' is providedu <br /><br />ospan> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaglueitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">) { <br />    if (!<pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">)) { <br />        retur.p<pspan>ospan> d" hreflafalse<pspan>ospan> keyword">; <br />    } <br /><br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.((<pspan>ospan> d" hreflastrtolower<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) == <pspan>ospan> strp'> 'pailto'<pspan>ospan> keyword">) ? <pspan>ospan> strp'> '' <pspan>ospan> keyword">: <pspan>ospan> strp'> '//'<pspan>ospan> keyword">) : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">].(isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p ss'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p ss'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">).<pspan>ospan> strp'> '@' <pspan>ospan> keyword">: <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br /><br />    if (isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">])) { <br />        <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= (<pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">], <pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) ? <br />            <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] : ((!empty(<pspan>ospan> d" hrefla$fui</span>ospan> keyword">) ? <pspan>ospan> strp'> '/' <pspan>ospan> keyword">: <pspan>ospan> strp'> '' <pspan>ospan> keyword">) . <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]); <br />    } <br /><br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> ' rage<li'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '#'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> ' rage<li'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br /><br />    retur.p<pspan>ospan> d" hrefla$fui</span>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?><br /><pspan>up<br />s="""br />orev"> s://forum.wrdshan.com/" IE 9nofollow rearg _blankvv s://forum.wrdshan.com/L a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d119744">ar-r"> vs.phvvbar "clearfix"Vu119744">bar "crev"> e <dd><avs.p-ns.p.php.fix119744hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd119744">bar "crev"> e <dd><avs.p-ns.p.php.fix119744hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV119744"eases/fe0% lik;eicis...">bar "-4 alt=" </ul" </ul"rev"> #119744"e typ">tur/strong us'rn. em>AnonymousL em></strong>L a><re gs tnchor"ev"> #119744">a&ch o;L a><lear dink reses/fe2016-08-15 11:26"><strong>1 year ago</strong>L </form> > <l </dHman119744">bl></dd-top">chp ">d rfspan>v> </nav.w3.> H're is an updink to ic. glueitle() .net/manu <br /><br />It can now handle relativk URLs if only 'p th' is providedu <br /><br />ospan> d" hrefla<?chp <br /><pspan>ospan> keyword">inet/man <pspan>ospan> d" hreflaglueitle</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">) { <br />    if (!<pspan>ospan> d" hreflais_array</span>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">)) { <br />        retur.p<pspan>ospan> d" hreflafalse<pspan>ospan> keyword">; <br />    } <br /><br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">].<pspan>ospan> strp'> ':'<pspan>ospan> keyword">.((<pspan>ospan> d" hreflastrtolower<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'scamp;'<pspan>ospan> keyword">]) == <pspan>ospan> strp'> 'pailto'<pspan>ospan> keyword">) ? <pspan>ospan> strp'> '' <pspan>ospan> keyword">: <pspan>ospan> strp'> '//'<pspan>ospan> keyword">) : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'us'r'<pspan>ospan> keyword">].(isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p ss'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p ss'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">).<pspan>ospan> strp'> '@' <pspan>ospan> keyword">: <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">]) ? <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'host'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> ':'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'port'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br /><br />    if (isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">])) { <br />        <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= (<pspan>ospan> d" hreflasubstr<pspan>ospan> keyword">(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">], <pspan>ospan> d" hrefla0<pspan>ospan> keyword">,p<pspan>ospan> d" hrefla1<pspan>ospan> keyword">) == <pspan>ospan> strp'> '/'<pspan>ospan> keyword">) ? <br />            <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">] : ((!empty(<pspan>ospan> d" hrefla$fui</span>ospan> keyword">) ? <pspan>ospan> strp'> '/' <pspan>ospan> keyword">: <pspan>ospan> strp'> '' <pspan>ospan> keyword">) . <pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'p th'<pspan>ospan> keyword">]); <br />    } <br /><br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '?'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> 'uo; h'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br />    <pspan>ospan> d" hrefla$fui <pspan>ospan> keyword">.= isset(<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> ' rage<li'<pspan>ospan> keyword">]) ? <pspan>ospan> strp'> '#'<pspan>ospan> keyword">.<pspan>ospan> d" hrefla$al/end<pspan>ospan> keyword">[<pspan>ospan> strp'> ' rage<li'<pspan>ospan> keyword">] : <pspan>ospan> strp'> ''</span>ospan> keyword">; <br /><br />    retur.p<pspan>ospan> d" hrefla$fui</span>ospan> keyword">; <br />} <br /><pspan>ospan> d" hrefla?><br /><pspan>up<br />s="""br />orev"> ://forum.el-wlid.com" IE 9nofollow rearg _blankvv tmlforum.el-wlid.comL a><pspan> .p >L e </a> L e </a>L e </bar-r"> ecuk </d86115">ar-r"> vs.phvvbar "clearfix"Vu86115">bar "crev"> e <dd><avs.p-ns.p.php.fix86115hp?t=psan=.net/manual/en/funhp?t=vs.p=ueleases/feVecu up!b. us'r s.ph-vs.pu">up"24" alt=" </ul "clearfix"Vd86115">bar "crev"> e <dd><avs.p-ns.p.php.fix86115hp?t=psan=.net/manual/en/funhp?t=vs.p=s=""leases/feVecu s=""!b. us'r s.ph-vs.p<eas="""24" alt=" </ul "clear allyk </dV86115"eases/fe0% lik;eicis...">bar "-4 alt=" </ul" </ul"rev"> #86115"e typ">tur/strong us'rn. em>FredLudd>ategpail s=t manL em></strong>L a><re gs tnchor"ev"> #86115">a&ch o;L a><lear dink reses/fe2008-10-03 11:24"><strong>9 years ago</strong>L </form> > <l </dHman86115">bl></dd-top">chp ">d rfspan>v> </nav.w3.> A s.her shot>atetryingmio find a better al/enru I s.iced icat ic. lhreibrius/ic.origin><marksimpson .net/mans didn't quicu handle ic. URL ior ic. psan ic.y w're displayed anu For my mirror, ca3,eicis is<br />  <rev"> ://ca3.php.net/ <dd><aen/.net/manual/en/fun.php" IE 9nofollow rearg _blankvv tmlca3.php.net/ <dd><aen/.net/manual/en/fun.phpL a><br /><br />Run it through ic. net/man and ii al/ens to<br />  scamp; => <br />  login =><br />  p =><br />  host => ca3.php.net<br />  ip =><br />  subdopain => ca3<br />  dopain => php.<br />  > ensman => net<br />  port =><br />  p th => / <dd><aen/.net/manual/en<br />  iile => .net/manual/en<br />icat is, ic. ile typmg s a bit <dgled<br /><br />Ra.her ican tweak ic. net/man's Igular expre ian yet>again, I optnd to adapi a RegExp icat served ypmwenl /n Javascript:<br /><br /> net/man j_al/enUrl($fun) {<br />  $r  = "(?:([a-z0-9+-._]+)tml)?";<br />  $r .= "(?:";<br />  $r .=   "(?:((?:[a-z0-9-._~!$hp?t='()*+,;=:]|%[0-9a-f]{2})*)@)?";<br />  $r .=   "((?:[a-z0-9-._~!$hp?t='()*+,;=]|%[0-9a-f]{2})*)";<br />  $r .=   "(?::(\d*))?";<br />  $r .=   "(/(?:[a-z0-9-._~!$hp?t='()*+,;=:@/]|%[0-9a-f]{2})*)?";<br />  $r .=   "|";<br />  $r .=   "(/?";<br />  $r .=     "(?:[a-z0-9-._~!$hp?t='()*+,;=:@]|%[0-9a-f]{2})+";<br />  $r .=     "(?:[a-z0-9-._~!$hp?t='()*+,;=:@\/]|%[0-9a-f]{2})*";<br />  $r .=    ")?";<br />  $r .= ")";<br />  $r .= "(?:\?((?:[a-z0-9-._~!$hp?t='()*+,;=:\/?@]|%[0-9a-f]{2})*))?";<br />  $r .= "(?:#((?:[a-z0-9-._~!$hp?t='()*+,;=:\/?@]|%[0-9a-f]{2})*))?";<br />  preg_match("`$r`i", $fun, $match);<br />  $al/ s = array(<br />            "scamp;"=>'',<br />            "us'rinfo"=>'',<br />            "authority"=>'',<br />            "host"=> '',<br />            "port"=>'',<br />            "p th"=>'',<br />            "uo; h"=>'',<br />            " rage<li"=>'');<br />  switch (count ($match)) {<br />    case 9: $al/ s[' rage<li'] = $match[8];<br />    case 8: $al/ s['uo; h'] = $match[7];<br />    case 7: $al/ s['p th'] =  $match[6];<br />    case 6: $al/ s['p th'] =  $match[5] . $al/ s['p th'];<br />    case 5: $al/ s['port'] =  $match[4];<br />    case 4: $al/ s['host'] =  $match[3];<br />    case 3: $al/ s['us'rinfo'] =  $match[2];<br />    case 2: $al/ s['scamp;'] =  $match[1];<br />  }<br />  $al/ s['authority'] = ($al/ s['us'rinfo']?$al/ s['us'rinfo']."@":"").<br />                         $al/ s['host'].<br />                        ($al/ s['port']?":".$al/ s['port']:"");<br />  retur.p$al/ s;<br />}<br /><br />Tcis inet/man, when .ed "<rev"> ://ca3.php.net/ <dd><aen/.net/manual/en/fun.php" IE 9nofollow rearg _blankvv tmlca3.php.net/ <dd><aen/.net/manual/en/fun.phpL a>", retur.s<br />  scamp; => <br />  us'rinfo =><br />  authority => ca3.php.net<br />  host => ca3.php.net<br />  port =><br />  p th => / <dd><aen/.net/manual/en/fun.phpLbr />  uo; h =><br />  rage<li => <br />which is somewcat closer io my needs.<br /><br />But ev<rytcingmshould bn iestnd against ic. two exaories providedmby RFC3986,<br /><br />  /* lin. ioo longmior icis sicu's al/enet handler */<br />  "footmlus'r typ:p word@exaorie.com:8042".<br />      "/ov<r/ic.rp/index.dtb;type=animal? typ=ferret#nose"<br />and<br />  "ur.:exaorie:animal:ferret:nose"<br /><br />H're ic. nativk net/man p <title() periorms admirably an tcat "ur.:" exaorie. Min. fails to pick out ic. p th ("exaorie:animal:ferret:nose") and ic. lhreibrius/ic.origin><marksimpson .net/man can't decipher anytcingmic.rp. Onpic. "foot" exaorie, both my net/man and p <title() g ii right, while ic. s.her exaories an tcis p gu s=n't.<br /><br />Tc. lhreibrius/ic.origin><marksimpson .net/man delivers<br />  scamp; => foo<br />  login => us'r typ<br />  p => p word<br />  host => exaorie.com<br />  ip =><br />  subdopain =><br />  dopain => exaorie.<br />  > ensman => com<br />  port => 8042<br />  p th => /ov<r/ic.rp/index.dtb<br />  iile => index.dtb<br /><br />Aseyou can see,pic. uo; h strp'> (" typ=ferret") and rage<li (" ose") have dropped aff, as wenl as ic. p typter ("type=animal").<pspan> .p >L e </a> L e </a>L e </L e </a orm> foot">crev"> e <dd><aadd-ns.p.php.sect=.net/manual/en/funhp?t=redirect= tmlfr2.php.net/ <dd><aen/.net/manual/en/fun.php"><imgmsrc='/images/ s.ph-add@2x.png' alt='add>a s.e' width='12' height='12'> <small>add>a s.e<psmall>L a><pe </a<pset/man>alt=" set/man><!-- lhyout-cont<li -->bar "ar "crside 'lhyout-e<lu'>bar "bar "ar "cul 'al/ent-e<lu-list'>bar "ar """""""""""""""""""""""""""""<li>bar "ar """""""""crev"> "> .fun.php">URL Fnet/mans"24" alt=bar "ar """""""""""""""""""""""""""""<ul 'child-e<lu-list'>bar "bar "ar """""""""""""""""""bar "ar """""""""""""""""<li ">bar "ar """""""""""""""""""""crev"> .net/manubase64-dec .php" eses/febase64_​dec ">base64_​dec "24" alt=""""""""""""""""""""c/li>bar "ar """""""""""""""""""bar "ar """""""""""""""""<li ">bar "ar """""""""""""""""""""crev"> .net/manubase64-enc .php" eses/febase64_​enc ">base64_​enc "24" alt=""""""""""""""""""""c/li>bar "ar """""""""""""""""""bar "ar """""""""""""""""<li ">bar "ar """""""""""""""""""""crev"> .net/manug -headers.php" eses/feg _​headers">g _​headers"24" alt=""""""""""""""""""""c/li>bar "ar """""""""""""""""""bar "ar """""""""""""""""<li ">bar "ar """""""""""""""""""""crev"> .net/manug -ypta-tags.php" eses/feg _​ypta_​tags">g _​ypta_​tags"24" alt=""""""""""""""""""""c/li>bar "ar """""""""""""""""""bar "ar """""""""""""""""<li ">bar "ar """""""""""""""""""""crev"> .net/manu -build-uo; h.php" eses/fe _​build_​uo; h"> _​build_​uo; h"24" alt=""""""""""""""""""""c/li>bar "ar """""""""""""""""""bar "ar """""""""""""""""<li curr<liavbar "ar """""""""""""""""""""crev"> .net/manual/en/fun.php" eses/fep <ti​funlap <ti​fun"24" alt=""""""""""""""""""""c/li>bar "ar """""""""""""""""""bar "ar """""""""""""""""<li ">bar "ar """""""""""""""""""""crev"> .net/manurawfundec .php" eses/ferawfundec ">rawfundec "24" alt=""""""""""""""""""""c/li>bar "ar """""""""""""""""""bar "ar """""""""""""""""<li ">bar "ar """""""""""""""""""""crev"> .net/manurawfunenc .php" eses/ferawfunenc ">rawfunenc "24" alt=""""""""""""""""""""c/li>bar "ar """""""""""""""""""bar "ar """""""""""""""""<li ">bar "ar """""""""""""""""""""crev"> .net/manufundec .php" eses/fefundec ">fundec "24" alt=""""""""""""""""""""c/li>bar "ar """""""""""""""""""bar "ar """""""""""""""""<li ">bar "ar """""""""""""""""""""crev"> .net/manufunenc .php" eses/fefunenc ">funenc "24" alt=""""""""""""""""""""c/li>bar "ar """""""""""""""""""""bar "ar """""""""""""</ul>bar "ar """"""""""""" """"""""""""</li>bar "ar """""""""""""""""bar "ar """""""""""""</ul>bar ""24side/a a> L e </<!-- lhyout -->bar "ar ""bar<footer</ul "clear container footer-cont<li">bar "arclear row-fluid">bar "arcul foote<lu">bar "ar "<li>crev"> ecopyright.php">Copyright © 2001-2017 Tc. PHP Group"24"</li>bar "ar "<li>crev"> emh.php">My PHP.net<24"</li>bar "ar "<li>crev"> econtact.php">Contact<24"</li>bar "ar "<li>crev"> esicus.php">O.her PHP.net sicus"24"</li>bar "ar "<li>crev"> emirrors.php">Mirror sicus"24"</li>bar "ar "<li>crev"> eprivach.php">Privach policy"24"</li>bar "ar</ul>bar "ar" </ul "c e </a> L footer</bar "ba<!-- E er tl and icird p ty eibrarius. -->ba<script type= > /javascript"msrc="//ajax.googleapis.com/ajax/libs/juo; h/1.10.2/juo; h.min.js">" script> oscript type= > /javascript"msrc=" tmlfr2.php.net/cacamd.php.t=1421837618hp?t=f=/js/> /m rnizr.js">" script> oscript type= > /javascript"msrc=" tmlfr2.php.net/cacamd.php.t=1421837618hp?t=f=/js/> /hogan-2.0.0.min.js">" script> oscript type= > /javascript"msrc=" tmlfr2.php.net/cacamd.php.t=1421837618hp?t=f=/js/> /typeahead.min.js">" script> oscript type= > /javascript"msrc=" tmlfr2.php.net/cacamd.php.t=1421837618hp?t=f=/js/> /m usetrap.min.js">" script> oscript type= > /javascript"msrc=" tmlfr2.php.net/cacamd.php.t=1421837618hp?t=f=/js/search.js">" script> oscript type= > /javascript"msrc=" tmlfr2.php.net/cacamd.php.t=1500560403hp?t=f=/js/al/eon.js">" script> cre </dtoTop"ev"> javascript:;"rfspan> </dtoTopHov<r"><pspan>oimgmwidth="40" height="40" alt="To Top"esrc="/images/to-top@2x.png">L a> c/body/a<pv.w3>