Tuesday, December 18, 2012
0 comments


Seringkali kita menemukan teks yang merupakan sebuah alamat yang biasanya dicantumkan sebagai rujukan referensi sebuah forum diskusi maupun dalam fitur komentar sebuah blog. Namun jika alamat saja yang diberikan diperlukan proses copy dulu alamat tersebut kemudian paste di bagian alamat browser untuk menampilkan alamat yang dimaksud. 
Berikut adalah tips dan trik bagaimana membuat autolink dimana para user yang melihat teks alamat website tersebut tidak perlu melakukan copy paste lagi, melainkan cukup klik alamat itu saja alias membuat alamat tersebut menjadi link anchor. Mohon maaf sebelumnya karena penjelasan saya kali ini untuk para programmer yang udah ngerti membuat fungsi dan menjalankannya.
Untuk membuatnya berikut langkah-langkahnya :

Buatlah 3 fungsi dalam php sebagai berikut :

<?php
function _autolink_find_URLS( $text )
  $scheme         =       '(http:\/\/|https:\/\/)';
  $www            =       'www\.';
  $ip             =       '\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}';
  $subdomain      =       '[-a-z0-9_]+\.';
  $name           =       '[a-z][-a-z0-9]+\.';
  $tld            =       '[a-z]+(\.[a-z]{2,2})?';
  $the_rest       =       '\/?[a-z0-9._\/~#&=;%+?-]+[a-z0-9\/#=?]{1,1}';            
  $pattern        =       "$scheme?(?(1)($ip|($subdomain)?$name$tld)|($www$name$tld))$the_rest";
    
  $pattern        =       '/'.$pattern.'/is';
  $c              =       preg_match_all( $pattern, $text, $m );
  unset( $text, $scheme, $www, $ip, $subdomain, $name, $tld, $the_rest, $pattern );
  if( $c )
  {
    return( array_flip($m[0]) );
  }
  return( array() );
}

function _autolink_create_html_tags( &$value, $key, $other=null )
{
  $target = $nofollow = null;
  if( is_array($other) )
  {
    $target      =  ( $other['target']   ? " target=\"$other[target]\"" : null );   
    $nofollow    =  ( $other['nofollow'] ? ' rel="nofollow"'            : null );     
  }
  $value = "<a href=\"$key\"$target$nofollow>$key</a>";


function buat_link($isi){
global $hasilpotong;

  $urls  =  _autolink_find_URLS( $isi );
  if( !empty($urls) )
  {
    array_walk( $urls, '_autolink_create_html_tags', array('target'=>'_blank', 'nofollow'=>true) );
    $isi =  strtr( $isi, $urls );
  }
$hasilpotong=$isi;
}
?>

Untuk memanggilnya cukup tuliskan:
<?php
buat_link($nama_teks);
?>

Biar nggak capek nulis skripnya. Download skripnya disini... autolink-cilbut.php

Sampai jumpa pada tulisan saya lainnya...

Share ke Google
"Sobat suka postingan ini? Silahkan copy link dibawah ini dan paste ke web, blog, atau sosial media sobat yang nantinya akan menghubungkan sobat langsung dengan postingan ini. "
Untuk mendapat respon balik dari saya, tuliskan identitas sobat dalam memberi komentar dalam kolom dibawah ini.

0 comments:

Post a Comment

ketikweb ketikweb ketikweb
 
@2013 ketikweb.blogspot.com | Template Modified and Enhanced by Zulkifli Hasan