Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Preg_match
damian0021
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 7.05.2010

Ostrzeżenie: (0%)
-----


Witajcie,

mam pewien skrypcik, który chce aby pobierał dane i wrzucał je w jedno miejsce:

Zrobiłem coś takiego:
  1. $dane_wejsciowe_nazwa = $b;
  2. preg_match('~<span class="Title">([^<]*)</span>~Usmi', $dane_wejsciowe_nazwa, $dane_wejsciowe_nazwa_dopasowania);
  3. $nazwa_produktu = $dane_wejsciowe_nazwa_dopasowania[1];
  4.  
  5. $co[] = 'class="OfferLink">';
  6. $na[] = 'itemscope="" itemtype="http://schema.org/Offer" onclick="ga(\'send\', \'event\', \''.$_SERVER['REQUEST_URI'].'\', \''.$nazwa_produktu.'\');" class="OfferLink">';
  7. $b = str_replace($co,$na,$b);


Wszystko się ładnie wyświetla, działa jak należy, tylko dane zawsze pobierane są z 1 produktu. Poniżej zrzut ekranu jaki kod dostaje:

(IMG:https://iv.pl/images/75380661137583656453.jpg)

Ktoś może pomóc ? (IMG:style_emoticons/default/sad.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
damian0021
post
Post #2





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 7.05.2010

Ostrzeżenie: (0%)
-----


Pogląd na żywo na: http://seowars.cba.pl/

Cały kod - przed pomianą:

  1. <a href="http://allegro.pl" target="_blank" rel="nofollow" class="Offer"><br>
  2. <img src="http://seowars.cba.pl/wp-content/uploads/2017/05/russell-hobbs-20680-56.jpg" class="Image"><br>
  3. <span class="Tytul">Zły ekspres</span><br>
  4. <span class="Cena">199 zł</span><br>
  5. <span class="Klik">ZOBACZ</span><br>
  6. </a>


A chcę aby podmienić na:

  1. <a href="http://allegro.pl" target="_blank" rel="nofollow" itemscope="" itemtype="http://schema.org/Offer" onclick="ga('send', 'event', '/', 'Zły ekspres');" class="Offer"><br>
  2. <img src="http://seowars.cba.pl/wp-content/uploads/2017/05/russell-hobbs-20680-56.jpg" itemprop="Image" class="Image"><br>
  3. <span class="Tytul"><span itemprop="name">Zły ekspres</span></span><br>
  4. <span class="Cena">199 zł</span><br>
  5. <span class="Klik">Sprawdź cenę</span><br>
  6. </a>



Jak widać wszystko mi podmienia jak chce, jednak cały czas pobiera mi nazwę 1 produktu.

Cały kod PHP:

  1. <?php
  2.  
  3. function w_callback($b){
  4.  
  5. $co = $na = array();
  6. $co_r = $na_r = array();
  7.  
  8. preg_match_all('~<span class="Tytul">([^<]*)</span>~Usmi', $b, $dane_wejsciowe_nazwa_dopasowania);
  9. foreach ($dane_wejsciowe_nazwa_dopasowania[1] as $key) {
  10. $co_arr[] .= 'class="Offer">';
  11. $na_arr[] .= 'itemscope="" itemtype="http://schema.org/Offer" onclick="ga(\'send\', \'event\', \''.$_SERVER['REQUEST_URI'].'\', \''.$key.'\');" class="Offer">';
  12. }
  13.  
  14.  
  15. $b = str_replace($co,$na,$b);
  16. $b = preg_replace($co_r,$na_r,$b);
  17. $b = str_replace($co_arr, $na_arr, $b);
  18.  
  19. return $b;
  20. }
  21. if(stristr($_SERVER['REQUEST_URI'],'wp-admin')===false) ob_start('w_callback');
  22. ?>


Ale cały czas pobiera tylko 1 produkt.

Ten post edytował damian0021 29.05.2017, 09:22:50
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 10:11