Jump to content


Photo

Pegar Valor De Uma Url Após Um Certo Caracter..


  • Faça o login para participar
5 replies to this topic

#1 Nando

Nando

    Eta eta eta, brasileiro quer.. futibol, mulher e rock'n roll

  • Usuários
  • 916 posts
  • Sexo:Masculino
  • Localidade:Sapucaia do Sul - RS
  • Interesses:Não sou interesseiro.

Posted 24/09/2006, 22:52

Opa pessoal eu quero pegar o valor SxVCFGrNHWc da URL do YouTube:

Então queria saber se tem alguma função que pegue o valor após o watch?v= pra min manipular a URL... Tem como?
Qualquer dia será só 1 linha de assinatura! x) Aí vou deixar essa aki mesmo já pra garantir.
Fireworks: llllllllllllllllllllllllllllll (Jah mexo a tempo mas ando meio parado)
Dreamweaver: llllllllllllllllllllllllllllll (Braço direito enquanto programo)
Js: llllllllllllllllllllllllllllll (Recem iniciando)
PHP: llllllllllllllllllllllllllllll (Dinamic Punch!!)

#2 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 24/09/2006, 23:13

Funções: parse_str() + parse_url()

Exemplo:

<?php

parse_str(parse_url('http://www.youtube.com/watch?v=SxVCFGrNHWc', PHP_URL_QUERY));

print $v;

?>
Metáfora: Saber PHP é uma arte onde todos podem ser artistas... :ponder:

[]’s :DAté mais

#3 Rehzus

Rehzus

    Normal

  • Usuários
  • 98 posts
  • Sexo:Não informado

Posted 24/09/2006, 23:56

assim ocupa um pouquinho menos de memoria e processamento...

$a = explode('?', $sua_url);
$a = substr($a[1], 2);
print $a;

Abraços!
Leandro Nascimento Camargo

OBS.: Eu sei que você tinha me pedido para explicar as funções lá no msn, mas existe php.net para isso. xD
"A imaginação é muito mais importante que o conhecimento" (Albert Einstein)

#4 Thiago Mobilon

Thiago Mobilon

    Novato no fórum

  • Usuários
  • 12 posts
  • Sexo:Não informado

Posted 25/09/2006, 00:16

Pego do XML do Mercado Livre urls dinâmicas deste tipo:

http://www.mercadolibre.com.pe/jm/pms?site=XXX&id=2021&as_opt=/jm/item?site=MPE$$id=1411202

Ultilizando o seguinte código:
case "LINK":
  $link .= str_replace("XXX",$afid,$data); 
  $link = preg_replace("/as_opt=\/jm\//i","as_opt=http://".$url1."/jm/",$link);
  $link = trim($link);
  break;

Seguindo o princípio do Paulo, para obter apenas o valor após o as_opt= eu poderia então fazer como abaixo?

  $url1='www.mercadolibre.com.pe';
$afid='http://pmstrk.mercadolivre.com.br/jm/PmsTrk?tool=2304437&go=';
  $link .= parse_str(parse_url($data, PHP_URL_QUERY)); 
  $link = $afid.$url1.$as_opt;
  $link = trim($link);

Estou tentando resolver isso em outro tópico, porém ninguém me ajudou ainda:

http://forum.wmonlin...howtopic=160845

#5 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 25/09/2006, 00:36

assim ocupa um pouquinho menos de memoria e processamento...

$a = explode('?', $sua_url);
$a = substr($a[1], 2);
print $a;

Abraços!
Leandro Nascimento Camargo

OBS.: Eu sei que você tinha me pedido para explicar as funções lá no msn, mas existe php.net para isso. xD

Verdade, o código executa cerca de 3 vezes mais rápido:
  • Meu código: 0.000110 segundos
  • Teu código: 0.000037 segundos
Mas uma coisa é certa: teu código foge da semântica da linguagem, aquela que determina as funções certas para as ocasiões em que a competem. :D

[]’s :DAté mais

#6 Rehzus

Rehzus

    Normal

  • Usuários
  • 98 posts
  • Sexo:Não informado

Posted 25/09/2006, 22:40

Verdade, o código executa cerca de 3 vezes mais rápido:

  • Meu código: 0.000110 segundos
  • Teu código: 0.000037 segundos
Mas uma coisa é certa: teu código foge da semântica da linguagem, aquela que determina as funções certas para as ocasiões em que a competem. :D

[]’s :D


Agreed.
Concordo plenamente.
A semântica não pode ser desprezada.
Mas um ser qualquer, que fosse pegar o codigo disso para dar manutenção teria que ficar pesquisando no php.net para ver o que parse_str e parse_url fazem...
Ou seja, o que eu quero dizer é que, apesar da boa intenção, há muitas funções com nomes nem tão intuintivos assim...e mesmo que fosse, suas interfaces (ou protótipos, se preferir -- os parametros de entrada e saída da função) não estariam intuitivamente claros, sugeitando o mantenedor (novato ou não) a pesquisar recorrentemente no php.net.

E em se tratando de milhares de requisições sempre preferirei os algoritmos de melhor performance...
afinal, os comentários no código servem pra quê? xD

Espero ter sido claro no meu ponto de vista.
"A imaginação é muito mais importante que o conhecimento" (Albert Einstein)




1 user(s) are reading this topic

0 membro(s), 1 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq