Php URL Regexleri

Merhaba arkadaşlar, bir proje için lazım oldu bu regexler bana.. Bir daha kaybetmemek için bloguma konusunu açayım dedim, eminim sizlerinde işine yarayacaktır bu regex’ler 🙂

Link yapısı içerisinden orjinal domaini bulmanızı sağlar;
(HTTPS desteği yoktu onu düzenledim çalışıyor sorun yok..)

$url = "http://www.uzmancevap.org/soru/653/backlink-konusunda";
preg_match('@^(?:http://|https://)?([^/]+)@i', $url, $matches);
$host = $matches[1];
echo $host;

Domain Doğruluk Kontrolü;

$url = "http://www.google.com";
if (preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url))
{
	echo "Geçerli Domain";
}
else
{
	echo "Hatalı Domain";
}

Extra: Herhangi bir kelimeyi renklendirmek için gerekli regex;

$text = "Bu basit bir örnektir ve bu örnek içinde erbilen ifadesi geçtiği sürece bu erbilen ifadesini regex sağolsun renklendirecektir..";
$text = preg_replace("/\b(erbilen)\b/i", '\1', $text);
echo $text;

Extra: String ifade içerisinde bulunan linkleri otomatik çevirir;

$text = "Burada linkler olabilir örneğin http://www.erbilen.net gibi ya da http://twitter.com gibi.. Bu linkleri regex otomatik link haline getirecek..";
$text = preg_replace('@(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)@', '<a href="$1">$1</a>', $text);
echo $text;

Hepsinide kullandım, hepsi işe yarar regexler 🙂 Kolay gelsin..

Yayınlayan

Tayfun Erbilen

2009’dan beri web işleriyle uğraşan, aynı zamanda amatör müziklede ilgilenen sıradan birisi..

“Php URL Regexleri” üzerine 4 yorum

  1. Aynen her projede tekrar yazmaya uğraşıyordum teşekkürler Tayfun abi 🙂

  2. Bu konu hakkında çok emin değilim malesef 🙂 Araştırayım, bulunca gerekli cevabı yazarım.

  3. @adsiz uzun süre geçmiş ama yine de cevaplayayım. Birinin işine yarar belki.
    Bildiğin gibi () karakterleri gruplama yapar. yani çıktıda bunlar gözükür. ama sen gruplama yapmak zorundaysan ve çıktıda olmasın istiyorsan (?:) gibi bir kullanım yaparsın.

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir