Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
estou fazendo um sistema para redirecionar paginas;
eu digito a url: http://www.google.com.br'>http://teste.com/link/?url=http://www.google.com.br
dentro da pasta link(index.php) fika o link get: <a href="<?php $URL=$_GET["url"]; ?>">continue</a>
más o link fica igual a url: http://www.google.com.br'>http://teste.com/link/?url=http://www.google.com.br
como eu faço para o link ficar apenas http://www.google.com.br ?
mesmo com http:// não da certo...
manipule as informações resgatadas da queryString ANTES de imprimí-las
$url = @$_GET['url'];
$url = preg_replace('/^http.http:\/\/(.)/','$1',$url); // remove http-~~-// duplicados
$url = preg_replace('/http:\/\/(.*)','$1',$url); // remove qualquer http-~~-// restante
//debug, apenas para visualizar o conteúdo de $url, após a manipulação
//a linha a seguir pode ser comentada ou excluída
echo $url;
if(!is_null($url) || $url !='') echo '<a href="http-~~-//'.$url.'" title="Link customizado">Seu link</a>';
evite imprimir as informações cruas recebidas do usuário.
agora quando eu uso alguma url com '&' ela é cortada...
& é separador de argumentos, quando você indica o caractere '&', ele significa que a variável url acabou.
ini_set('arg-separator.output','|');
cara continua não dando certo;
ve o que ta errado:
<?
ini_set('arg-separator.output','&');
?>
<?php ini_set('arg_separator.output','&'); ?>
<?
$url = @$_GET['url'];
$url = preg_replace('/^http.http:\/\/(.)/','$1',$url); // remove http:// duplicados
//debug, apenas para visualizar o conteúdo de $url, após a manipulação
//a linha a seguir pode ser comentada ou excluída
echo $url;
if(!is_null($url) || $url !='') echo '<a href="http://'.$url.'" title="Link customizado">Seu link</a>';
?>cara, do geito que eu fiz anteriormente funciona perfeitamente, só em url com & que da problema... ela corta.. ja testei com esse script ai mas não deu certo....
o geito anterior é simplesmente por o link: <?=$_GET['url']?>
ele pega td que tem depois do link= certinho, mas quando tem um & corta a url...
o que eu faço...?! faz 3 dias que eu to tentando de tudo....
>
cara, do geito que eu fiz anteriormente funciona perfeitamente, só em url com & que da problema... ela corta.. ja testei com esse script ai mas não deu certo....
o geito anterior é simplesmente por o link: <?=$_GET['url']?>
ele pega td que tem depois do link= certinho, mas quando tem um & corta a url...
o que eu faço...?! faz 3 dias que eu to tentando de tudo....
eu falei pra por
ini_set('arg-separator.output','|');
e você poe
ini_set('arg-separator.output','&');
assim fica difícil ajudar
isso acontece pq você nao coloca o endereco todo, com http na frente...