Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 33
Sexo: Masculino

Ajuda preg_match_all

09-08-2011 13:36


<tr class="search-result"> <td class="ac">3776958 </td> <td class="avatar"><img src="http://msavatar1.nexon.net/Pet/HHJLHDFFEFDGELLNFOPOKJFPLJIJIOFJGKBFIENAOLFLCACMGPEDJLOKHBLCGMBN.gif" alt="" class="pet"><img src="http://msavatar1.nexon.net/Character/PBJPMMBOEOABIHHCFAKEDNDIINPLOHIMGGIDPBCEGAKAACDAJKGCKEOBELLBOGKIJMEEJCNOHEHABBCPHHFFIGOLBAIECKMM.gif" alt=""></td> <td class="char-name"> Nuckinho</td> <td class="ac"><a class="world broa" href="/Rankings/WorldRanking.aspx?type=world&world=2">&nbsp;</a></td> <td class="ac"><img src="http://nxcache.nexon.net/maplestory/img/icons/icon-job-aran.gif" alt="Aran" title="Aran"></td> <td class="level-move"> <div style="display: block;"> 32<br>(7538)<br> <img src="http://nxcache.nexon.net/maplestory/img/icons/icon-rank-move-down.png" alt="Down">&nbsp;-311052 </div> <div style="display: none;"> 7538 </div> <div style="display: none;"> -311052 </div> </td> </tr>

(http://maplestory.nexon.net/Rankings/Ov ... earch=true)

Desse codigo html eu queria pegar o servidor
<td class="ac"><a class="world broa" href="/Rankings/WorldRanking.aspx?type=world&world=2">&nbsp;</a></td>
(Broa e o n°2, esses dois podem mudar)

Ja tentei isso mas não consegui:
$image = file_get_contents("http://maplestory.nexon.net/Rankings/OverallRanking.aspx?type=overall&s=l&pageIndex=1&key=Nuckinho&search=true"); preg_match_all("/\/Rankings\/WorldRanking.aspx?type=world&world=\b(?:1|2|3|4|5|6|7|8|9|10|11|12|13|14|15|16)\b/", $image, $matchesserver); $server = $matchesserver[0][2];

Sabe por que não está dando?

E também queria pegar o 'rank' e o 'level/move'
Rank:
<td class="ac">3776958 </td>

Level/Move:
<td class="level-move"> <div style="display: block;"> 32<br>(7538)<br> <img src="http://nxcache.nexon.net/maplestory/img/icons/icon-rank-move-down.png" alt="Down">&nbsp;-311052 </div> <div style="display: none;"> 7538 </div> <div style="display: none;"> -311052 </div> </td>

Brigado :wasntme:
0
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 33
Sexo: Masculino

Ajuda preg_match_all

09-08-2011 13:40

Desculpe esqueci de algo :sweat:


E também queria pegar o 'rank' e o 'level/move'
Rank:
<td class="ac">3776958 </td>

3776958 = muda sempre e é ele que queria pegar


Level/Move:
<td class="level-move"> <div style="display: block;"> 32<br>(7538)<br> <img src="http://nxcache.nexon.net/maplestory/img/icons/icon-rank-move-down.png" alt="Down">&nbsp;-311052 </div> <div style="display: none;"> 7538 </div> <div style="display: none;"> -311052 </div> </td>

32,
(7538),
<img src="http://nxcache.nexon.net/maplestory/img ... e-down.png" alt="Down">&nbsp;-311052,
7538 e
-311052 queria pegar issos, e eles sempre mudão

Brigado :wasntme:
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17510
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajuda preg_match_all

09-08-2011 14:00

Acho que o que você pode fazer é armazenar todo conteúdo em uma variável, depois, tentar usar o explode, baseado no valor anterior ao que procura, ex.:

<table>
<tr>
<td>esse valor</td>

Nesse caso você usaria tudo antes do: esse valor... com base para o explode.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 33
Sexo: Masculino

Ajuda preg_match_all

09-08-2011 14:19

Não sei nada de explode ;(
Poderia ajudar com ele? ou tem algum outro jeito?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17510
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajuda preg_match_all

09-08-2011 14:24

Não posso fazer para você. O que posso fazer é te dar um exemplo para você estudar e adaptar, segue abaixo:

No exemplo quero exibir na tela somente o nome: Nuckinho.

<?php $var = '<tr class="search-result"> <td class="ac">3776958 </td> <td class="avatar"><img src="http://msavatar1.nexon.net/Pet/HHJLHDFFEFDGELLNFOPOKJFPLJIJIOFJGKBFIENAOLFLCACMGPEDJLOKHBLCGMBN.gif" alt="" class="pet"><img src="http://msavatar1.nexon.net/Character/PBJPMMBOEOABIHHCFAKEDNDIINPLOHIMGGIDPBCEGAKAACDAJKGCKEOBELLBOGKIJMEEJCNOHEHABBCPHHFFIGOLBAIECKMM.gif" alt=""></td> <td class="char-name"> Nuckinho</td>'; $parte = explode("class=\"char-name\">", "$var"); echo $parte[1]; ?>

0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 33
Sexo: Masculino

Ajuda preg_match_all

09-08-2011 14:31

Ok, Brigado :rofl:
<?php $var = '<tr class="search-result"> <td class="ac">3776958 </td> <td class="avatar"><img src="http://msavatar1.nexon.net/Pet/HHJLHDFFEFDGELLNFOPOKJFPLJIJIOFJGKBFIENAOLFLCACMGPEDJLOKHBLCGMBN.gif" alt="" class="pet"><img src="http://msavatar1.nexon.net/Character/PBJPMMBOEOABIHHCFAKEDNDIINPLOHIMGGIDPBCEGAKAACDAJKGCKEOBELLBOGKIJMEEJCNOHEHABBCPHHFFIGOLBAIECKMM.gif" alt=""></td> <td class="char-name"> Nuckinho</td>'; $parte = explode("class=\"char-name\">", "$var"); echo $parte[1]; ?>

Aki
$parte = explode("class=\"char-name\">", "$var");
echo $parte[1];
Como o codigo sabe que e para mostrar até o </td> (so mostra o nuckinho)? :hai:
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17510
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajuda preg_match_all

09-08-2011 14:37

Na verdade ele não sabe. O que fiz foi separar do class para traz, pegando o que está para frente. Agora, terá que fazer outro explode com esse pedaço criado $parte[1], fazendo um explode pelo </td>
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 33
Sexo: Masculino

Ajuda preg_match_all

09-08-2011 14:50

Deu certo Brigado :)

So mais uma coisa...

$parte = explode("class=\"char-name\">", "$var");
echo $parte[1];

Para pegar o 3° 'class="char-name">' é assim né:
echo $parte[1][2]; ?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17510
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Ajuda preg_match_all

09-08-2011 17:25

No caso do explode, o valor é dividido em duas partes, de acordo com o separador, [0] é o valor anterior, [1] o valor posterior. Ai no caso, você vai ter que trabalhar os valores por grupo, seguindo a lógica para chegar ao trecho que precisa.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado