Bir URL dizesinde varsa belirlenmesi

3 Cevap php

Merhaba birisi bir url PHP kullanarak bir dize varsa bana belirlemenize yardımcı olabilir?

Ben "Merhaba http://domain.com/12345, bugün ziyaret edin" ve tam url dışarı şerit değil, sadece alan adı yani tam bir dize çekmek istiyorum.

Teşekkürler

3 Cevap

Jeff Atwood blogunda "Kodlama Korku" adlı bu makalede bir göz atın:

The Problem With URLs

Muhtemelen böyle bir şey istiyorum:

RegEx Guru: Metin algılama URL'ler

Bu kadar okuyun ve her yaklaşımın dengeler anlıyorum. Benim için, \bhttp://\S+ Ben alanlar ile bağlantıları koymak (veya Pars ile olan bağlarını çevreleyen) düz metin haline isteyenlere ikram ilgilenmiyorum, çünkü ... tamamen kabul edilebilir (ama I) sanırım çok ağırlamayı değilim

Burada bir örnek

$str = file_get_contents('http://www.sitepoint.com');

preg_match_all('~(https?://([-\w\.]+)+(:\d+)?(/([\w/_\.]*(\?\S+)?)?)?)~', $str, $matches);

print_r($matches);