Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] preg_match
Forum PHP.pl > Forum > Przedszkole
Diemorko
No więc mam problem robie strone która ma za zadanie pokazywać statystyki ludzi z mojej gildi.
Problem polega w tym że gdy nik składa się z kilku fraz, np. Er Dizzy to pokazuje statystyki Er a nie Er Dizzy
By pokazywało statystki Er Dizzy link powinien wyglądać w ten sposób
  1. <?php
  2. $page = file_get_contents("http://www.tibia.com/community/?subtopic=characters&name=Er+Dizzy");
  3. ?>


  1. <?php
  2. $page = file_get_contents("http://www.tibia.com/community/?subtopic=characters&name=$char");
  3. ?>

Jak zastosować to tak gdy w zmiennej $char jest spacja, to zamienia ją na + ?
Mógłby ktoś mi pomóc?
Diemorko
  1. <?php
  2. $page = file_get_contents("http://www.tibia.com/community/?subtopic=characters&name=". urlencode($char1) ."");
  3. ?>

Warning: urlencode() expects parameter 1 to be string, array given in /home/tibiahun/public_html/acc.php on line 71
Wicepsik
  1. <?php
  2. $page = file_get_contents("http://www.tibia.com/community/?subtopic=characters&name=".urlencode($char));
  3. ?>
Fifi209
Jak już:

  1. <?php
  2. $page = file_get_contents('http://www.tibia.com/community/?subtopic=characters&name='.urlencode($char1));
  3. ?>


Pokaż więcej kodu...
Diemorko
Oto i cały kod:
  1. <?php
  2. $pl1voc = "|Profession:</TD><TD>([^<]+)?</TD>|i";
  3.    $pl1lvl = "|Level:</TD><TD>([^<]+)?</TD>|i";
  4.    $pl1srv = "|World:</TD><TD>([^<]+)?</TD>|i";
  5.    $pl1city = "|Residence:</TD><TD>([^<]+)?</TD>|i";
  6.    
  7.    // get page source
  8.    $page = file_get_contents('http://www.tibia.com/community/?subtopic=characters&name='.urlencode($char1).'');
  9.    
  10.    // look for matches
  11.    preg_match($pl1voc, $page, $pl1voc);
  12.    preg_match($pl1lvl, $page, $pl1lvl);
  13.    preg_match($pl1srv, $page, $pl1srv);
  14.    preg_match($pl1city, $page, $pl1city);
  15. ?>
Wicepsik
Czytaj posty... omg


  1. <?php
  2. $pl1voc = "|Profession:</TD><TD>([^<]+)?</TD>|i";
  3.   $pl1lvl = "|Level:</TD><TD>([^<]+)?</TD>|i";
  4.   $pl1srv = "|World:</TD><TD>([^<]+)?</TD>|i";
  5.   $pl1city = "|Residence:</TD><TD>([^<]+)?</TD>|i";
  6.  
  7.   // get page source
  8.   $page = file_get_contents('http://www.tibia.com/community/?subtopic=characters&name='.urlencode($char1));
  9.  
  10.   // look for matches
  11.   preg_match($pl1voc, $page, $pl1voc);
  12.   preg_match($pl1lvl, $page, $pl1lvl);
  13.   preg_match($pl1srv, $page, $pl1srv);
  14.   preg_match($pl1city, $page, $pl1city);
  15. ?>
Diemorko
Masz racje tongue.gif
Zapomniałem napisać że to nic nie zmienia...
Wicepsik
A zrobiłeś wyszukiwarkę? ohmy.gif
Mi jakoś działa.

GET" title="Zobacz w manualu PHP" target="_manual

  1. <?php
  2. (
  3.    [0] => Profession:Elite Knight
  4.    [1] => Elite Knight
  5. )
  6. (
  7.    [0] => Level:131
  8.    [1] => 131
  9. )
  10. (
  11.    [0] => World:Harmonia
  12.    [1] => Harmonia
  13. )
  14. (
  15.    [0] => Residence:Yalahar
  16.    [1] => Yalahar
  17. )
  18. ?>
Diemorko
Mam statystyki...
Pokazuje normalnie..
Fifi209
Cytat(Diemorko @ 22.05.2009, 16:35:39 ) *
Masz racje tongue.gif
Zapomniałem napisać że to nic nie zmienia...



Cytat(Diemorko @ 22.05.2009, 22:28:08 ) *
Mam statystyki...
Pokazuje normalnie..



To w końcu działa czy nie...? smile.gif
Diemorko
Bez tego co tu podaliscie działają... ale z tym niebardzo i niewiem co jest źle...
Fifi209
  1. <?php
  2. $site = file_get_contents('http://www.tibia.com/community/?subtopic=characters&name=Er+Dizzy');
  3.    preg_match_all('/<td>([a-zA-Z0-9 ]+)</td>/is', $site, $matches, PREG_SET_ORDER);
  4.    
  5.    foreach ($matches as $match) { $data[] = $match[1]; }
  6.    
  7.    echo '<pre>';
  8.        print_r($data);
  9.    echo '</pre>';
  10. ?>


Wynik działania:
Kod
Array
(
    [0] => Er Dizzy
    [1] => male
    [2] => Knight
    [3] => 58
    [4] => Empera
    [5] => Thais
    [6] => Free Account
)
Diemorko
Problem nadal nie rozwiązany :/
Wicepsik
Podaj całą stronę i cały kod php.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.