Membuat Hyperlink di PHP

Story of Biography Danger Ranger >>> Click Here

Bagaimana cara membuat script untuk menampilkan link otomatis dalam postingan artikel bila terdapat URL. Sebagai contoh misalkan saya menuliskan string berikut ini pada form:
“Hallo.. selalu kunjungi http://blog.rosihanari.net ya untuk mendapatkan info programming yang OK punya.”
Nah.. setelah disubmit, maka secara otomatis URL ‘http://blog.rosihanari.net’ yang terdapat dalam string di atas akan menjadi link secara otomatis tanpa kita memberikan tag html untuk link <a href=”…”>…</a> pada URL tersebut. Untuk memudahkan dalam menyebutkan, mungkin lebih enak kalau saya sebut hal ini dengan istilah ‘auto hyperlink’ saja ya.
Bila Anda menggunakan WordPress, maka auto hyperlink ini secara otomatis terjadi yaitu pada bagian comment. Namun, bagaimana bila kita ingin membuat sendiri auto hyperlink ini? So.. simak artikel ini baik-baik ya, mudah kok membuatnya :-)
Kita dapat membuat script auto hyperlink di atas dengan menggunakan PHP. Bagaimana dengan idenya? Idenya adalah langkah pertama kita pisah atau split terlebih dahulu string aslinya ke dalam substring berdasarkan karakter spasinya.
Sebagai contoh, misalkan ada string berikut ini:
“Situs http://blog.rosihanari.net dan http://rosihanari.net benar-benar OK punya.”

Bila kita split string tersebut ke dalam substring berdasarkan karakter spasi, maka akan kita dapatkan substring sbb:
Substring ke-0 : Situs
Substring ke-1 : http://blog.rosihanari.net
Substring ke-2 : dan
Substring ke-3 : http://rosihanari.net
Substring ke-4 : benar-benar
Substring ke-5 : OK
Substring ke-6 : punya.
Dengan demikian totalnya ada 7 buah substring. Kemudian untuk setiap substring tersebut kita cek apakah diawali dengan ‘http://’. Bila ada substring yang diawali dengan ‘http://’ maka substring tersebut nantinya akan direplace dengan

1.<a href="substring">substring</a>.
Sehingga hasil string setelah proses replacing selesai semua menjadi

1.Situs <a href="http://blog.rosihanari.net">http://blog.rosihanari.net<;/a> dan <a href="http://rosihanari.net">http://rosihanari.net<;/a> benar-benar OK punya.
Mudah-bukan idenya? :-) Tapi.. eh tunggu dulu, bagaimana bila ada substring yang hanya terdiri dari ‘http://’ saja? Misalkan string berikut ini.

“Contoh beberapa situs http://blog.rosihanari.net dan http://rosihanari dan http://”
Apa yang terjadi bila kita terapkan ide di atas? Ya… hasilnya akan rusak karena semua teks ‘http://’ dalam string aslinya nantinya akan dibuat link sehingga hasilnya adalah sbb:

1.Contoh beberapa situs <a href='<a href='http://'>http://<;/a>blog.rosihanari.net'><a href='http://'>http://<;/a>blog.rosihanari.net</a> dan <a href='<a href='http://'>http://<;/a>rosihanari'><a href='http://'>http://<;/a>rosihanari</a> dan <a href='http://'>http://<;/a>
Oleh karena itu, proses replacing tidak boleh diberlakukan pada substring hasil pecahan yang hanya terdiri dari ‘http://’ saja.
OK sudah paham ya? Nah.. sekarang kita buat script PHP sebagai implementasi ide di atas. Ini dia script nya

01.<?php
02. 
03.// string asli
04.$string = "Contoh beberapa situs http://blog.rosihanari.net dan http://rosihanari dan http://";
05. 
06.// proses splitting ke dalam substring
07.$pecah = explode(" ", $string);
08. 
09.// proses replacing
10.for ($i=0; $i<=sizeof($pecah)-1; $i++)
11.{
12.if ((substr($pecah[$i], 0, 7) == 'http://') && ($pecah[$i] != 'http://'))
13.$string = str_replace($pecah[$i], "<a href='".$pecah[$i]."'>".$pecah[$i]."</a>", $string);
14.}
15. 
16.echo $string;
17.?>
Hasil dari script di atas tampak seperti di bawah ini.

auto hyperlink php script
Mudah bukan membuatnya? Script di atas hanya script sample dan simple saja dimana input stringnya bukan dari form. Nah.. Anda bisa memodifikasi script di atas bila input string berasal dari form. Anda dapat pula memodifikasinya bila ingin menyimpan string hasil auto hyperlink nya ke dalam database.
Selamat mencoba ya !! =Jangan Lupa Komentar nya  ^_^

 First Time Unforgertable Bali >>> Click Here

Postingan terkait:

Belum ada tanggapan untuk "Membuat Hyperlink di PHP"

Post a Comment