2015-04-06 75 views
-1

我有一个字符串是一个url,例如编辑一个URL,改变它最后一次出现的字符串,并检查它是否存在于PHP

www.example.com/something/2/other_stuff/2/1 

和我有一个int,让我们在这个例子说的是2

我想提出一个新的URL替换其下次INT的最后一次出现。 因此,在本例中,我想要的是:

www.example.com/something/2/other_stuff/3/1 

URL可以以任何方式来写的,它并没有一个特定的模式。 一旦新的链接被创建,我还需要检查它是否真的存在于网络上。你有什么想法吗?

+0

http://php.net/parse_url + http://php.net/file_get_contents – 2015-04-06 14:00:51

+0

@MarcB如果你尝试parse_url与我使用的URL作为例子,你可以看到它不能正常工作 – Sanci 2015-04-06 14:09:27

+0

所以拍一个'http://'前缀,然后离开你。那么这只是一个爆炸'['path']'部分并按照neeed修改的问题。 – 2015-04-06 14:14:27

回答

0

既然你已经有一个字符串,并知道你想检查以下解决方案应该工作的整数。

//Make sure you sanitize the url 
function yourAnswer($url, $yourInt){ 
$offset = strrpos($url, $yourInt); 
if(!$offset) 
    return FALSE; //The integer was not found in the url 
$url[$offset] = $yourInt + 1; 
$url = "http://".$url ; //Assuming only http 

// Now we check whether the page exists 

$file_headers = @get_headers($url); 
if($file_headers[0] == 'HTTP/1.1 404 Not Found') 
    return FALSE; 
return TRUE; 
} 
//In your function call make sure you quote the number, else strrpos looks for the character value of that number 
//yourAnswer("www.example.com/something/2/other_stuff/2/1",'2');` 

进一步参考上检查文件是否存在:How can I check if a URL exists via PHP?

相关问题