2015-04-11 4 views
-1

Предположим, что у меня есть переменная, которая содержит адрес веб следующим образом:извлечь конкретное значение из строки

$url="http://www.example.com/login?u=17474&l=6277"; 

Я теперь посылаю вышеупомянутую URL к функции

$out= myFunc($url); 

Теперь то, что я хочу это что функция должна возвращать только часть URL-адреса до? то есть, если вышеуказанный URL-адрес передан функции, он должен вернуть http://example.com/login также, если относительный URL-адрес передан как /login.php?u=26337 & g = 777 он должен возвращать только /login.php.

также я хочу получить значения в URL-адресе и установить файлы cookie для выше, я хочу значение внутри u и установить cookie со значением.

function myFunc($url){ 
     $pass= substr($url,0,strpos($url,'?')); 
    $u = ;//the value in; 
    setcookie('user',$u); 
return $pass; 
} 

Как я могу это сделать ??

+0

то будет Vry большого код не может скопировать, что – coder123

+0

Тогда ответы будут иметь тот же проблемы, их коды не будут размещены !? Давай :-) См. [Как создать минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve). – mins

+0

Откуда: $ url? – TimBrownlaw

ответ

2

Эта функция должна вернуть подстроку до "?":

function myFunc($url){ 
    return substr($url,0,strpos($url,'?')); 
} 
$url="http://www.example.com/login?u=17474&l=6277"; 
echo myFunc($url);// http://www.example.com/login 

преобразовать строку GET в массив, использование parse_str функция():

function get_values($url){ 
    parse_str(substr($url,strpos($url,'?')+1),$array); 
    return $array; 
} 
$values = get_values($url); 
print_r($values);//Array ([u] => 17474 [l] => 6277) 

Чтобы получить доступ к u:

$u = $values['u']; 
setcookie('user',$u); 

запомнить setcookie перед любым выходом в браузер!

+0

, который бы сделал, но мне тоже нужны значения. см. Я отредактировал ques – coder123

1

parse_url может вам помочь. Просто используйте это нравится:

$url="http://www.example.com/login?u=17474&l=6277"; 
$url_segments = parse_url($url); 

echo $url_segments['path']; 
+0

, который не будет работать с относительным url .. – coder123

+0

вы хотите получить имя файла сценария? –

Смежные вопросы