J'utilise Curl pour renvoyer des données de sites externes. Comment puis-je retourner l'URL de base d'un site avec PHP? P>
Par exemple, j'ai cette URL:
Je veux juste Merci! P> http://www.bestbuy.com/site/insignia%26%23153%3B+-+55%22+Class+/+1080p+/+120Hz+/+LCD+HDTV/2009148.P?id=1218317000232&skuid=2009148 code> p>
http://www.bestbuy.com code> p>
3 Réponses :
regex :) p>
Utilisez celui-ci (non sûr si cela fonctionnera sur PHP, mais vous pouvez le modifier légèrement si nécessaire) P>
Donc, cela correspondra éventuellement correspondre http: // ou https: // (? signe après et votre URL souhaitée est dans le premier groupe de capture p>
éventuellement vous pouvez omettre?: partout dans la regex et vous pouvez obtenir p>
/ ^ (((http: \ / \ / | https: \ / \ /)? (?:. +? +?)) (?: \ S * $ | \ / /.*$) / code> p>
\ / \ /) code>) puis une correspondance paresseuse jusqu'à la fin de la ligne ou
/ code> si existe p>
$url = "http://www.bestbuy.com/site/Insignia%26%23153%3B+-+55%22+Class+/+1080p+/+120Hz+/+LCD+HDTV/2009148.p?id=1218317000232&skuId=2009148"; echo ""; print_r(parse_url($url)); //Would give you Array ( [scheme] => http [host] => www.bestbuy.com [path] => /site/Insignia%26%23153%3B+-+55%22+Class+/+1080p+/+120Hz+/+LCD+HDTV/2009148.p [query] => id=1218317000232&skuId=2009148 )