Luiz Alegria Posted February 21, 2012 Report Share Posted February 21, 2012 olá pessoal,estou tendo um problema ao tentar localizar parte de uma string por aqui.vou postar o código e explico: $qrstr_separada = explode('&', $_SERVER['QUERY_STRING']); $pos = strpos(array_pop($qrstr_separada), 'pg=); if($pos===false) { $url = $_SERVER['QUERY_STRING]; } else { $url = str_replace('&'.array_pop($qrstr_separada), '', $_SERVER['QUERY_STRING']); } $url = $_SERVER['PHP_SELF'].'?'.$url;primeiro eu separo QUERY_STRING de modo a pegar os parâmetros GET como itens de um array;depois testo se o último item do array possui a string 'pg=';se não possuir deixo QUERY_STRING como está;se possuir tiro o ultimo parâmetro de QUERY_STRING;não está funcionando o strpos() do jeito que eu queria, pelos testes que fiz.eu não estou conseguindo enxergar o erro, alguém pode me ajudar?agradeço desde já. Quote Link to comment Share on other sites More sharing options...
0 thb_matrix Posted February 21, 2012 Report Share Posted February 21, 2012 Pelo que entendi estás tentando buscar um item num array com strpos. É isso?Se for está errado. O strpos procura uma substring em uma string. Podes procurar com strpos direto na query string...Agora se entendi o que precisas, parece MUITO mais fácil fazer o seguinte:$pg = $_GET['pg']; if ($pg) { $new_qs = replace("pg=$pg", "pg=", $_SERVER['QUERY_STRING']); } Quote Link to comment Share on other sites More sharing options...
Question
Luiz Alegria
olá pessoal,
estou tendo um problema ao tentar localizar parte de uma string por aqui.
vou postar o código e explico:
$qrstr_separada = explode('&', $_SERVER['QUERY_STRING']);
$pos = strpos(array_pop($qrstr_separada), 'pg=);
if($pos===false) {
$url = $_SERVER['QUERY_STRING];
}
else {
$url = str_replace('&'.array_pop($qrstr_separada), '', $_SERVER['QUERY_STRING']);
}
$url = $_SERVER['PHP_SELF'].'?'.$url;
primeiro eu separo QUERY_STRING de modo a pegar os parâmetros GET como itens de um array;
depois testo se o último item do array possui a string 'pg=';
se não possuir deixo QUERY_STRING como está;
se possuir tiro o ultimo parâmetro de QUERY_STRING;
não está funcionando o strpos() do jeito que eu queria, pelos testes que fiz.
eu não estou conseguindo enxergar o erro, alguém pode me ajudar?
agradeço desde já.
Link to comment
Share on other sites
1 answer to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.