BLOG

Php URL Regexleri

Tayfun Erbilen ekledi. 23 Eylül 2012 Pazar

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+)?)?)?)@', '$1', $text);
echo $text;

Hepsinide kullandım, hepsi işe yarar regexler :) Kolay gelsin.. Gözat

3 yorum

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

    YanıtlaSil
  2. Birinci örnekteki " ?: " karakterleri ne için acaba ?

    YanıtlaSil
    Yanıtlar
    1. Bu konu hakkında çok emin değilim malesef :) Araştırayım, bulunca gerekli cevabı yazarım.

      Sil

HAKKIMDA

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