Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Preg_replace
maki1234
post
Post #1





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.01.2015

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


  1. <?php
  2.  
  3. include('database.php');
  4.  
  5. $zapytanie = "SELECT Kod, Adres FROM emots";
  6. $zapytanie = mysqli_query($uchwyt, $zapytanie);
  7. $num = mysqli_num_rows($zapytanie);
  8.  
  9. $input = array ();
  10. $output = array ();
  11.  
  12.  
  13. while ($emots = mysqli_fetch_array($zapytanie)) {
  14.  
  15. $input[] = $emots['Kod'];
  16. $output[] = $emots['Adres'];
  17. }
  18.  
  19.  
  20. $text = preg_replace($input, $output, $text);
  21.  
  22. ?>


w bazie danych Kody emotek mam zapisane w formacie :emotka: np :haha: , Kodem jest adres do obrazka (wiem że tam nie ma img src ale nie dziala pewna rzecz) Kiedy wpiszę kod emotki to owszem funkcja zadziała i zamienia tekst ALE zmiast zamienić z np :haha: do obrazek.png to zamiania na :obrazek.png: (nie wiem skąd te dwukropki się tu biorą, zapewne z tego kodu ale jak to zrobić żeby się czysty adres wyświetlał)... pozdro
Go to the top of the page
+Quote Post
bubx2k
post
Post #2





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 17.11.2014

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


Musisz stworzyć odpowiednią regułę.
Przykład: http://www.phpliveregex.com/p/9Uz
Go to the top of the page
+Quote Post
Pyton_000
post
Post #3





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


użyj str_replace zamiast preg_replace
Go to the top of the page
+Quote Post
maki1234
post
Post #4





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.01.2015

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


Próbowałem także ze str_replace - efekt taki sam, ale skąd te dwukropki się biorą przecież jasno jest napisane że kod -> adres ... Mógłbym wyrażeń regularnych użyć ale dlaczego tak ma nie działać?
Go to the top of the page
+Quote Post
Pyton_000
post
Post #5





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Skoro tak Ci zamienia to znaczy że tak masz w wartościach do podmiany.

var_dump($input, $output);die();
Go to the top of the page
+Quote Post
maki1234
post
Post #6





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.01.2015

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


Ale jak sobie wyświetlę w pętli wszystkie elementy tablicy output to normalnie się kod prezentuje.. co daje ta funkcja var_dump?

Ten post edytował maki1234 5.02.2015, 21:08:22
Go to the top of the page
+Quote Post
Pyton_000
post
Post #7





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Powiedz że Twoje pytanie było żartem ...
Go to the top of the page
+Quote Post
maki1234
post
Post #8





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.01.2015

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


Fakkkk juz tracę mózg. .. Odpuszczam sobie to dzis dalej będę jufro kombinowal choc nie mam pojecia o co tu kaman... Oczywiscie ze info o zmiennej var dump...
Go to the top of the page
+Quote Post
bubx2k
post
Post #9





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 17.11.2014

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


Cytat(maki1234 @ 5.02.2015, 20:56:15 ) *
Próbowałem także ze str_replace - efekt taki sam, ale skąd te dwukropki się biorą przecież jasno jest napisane że kod -> adres ... Mógłbym wyrażeń regularnych użyć ale dlaczego tak ma nie działać?


A przez "preg_replace" nie używasz?

Kolejny jaśniejszy przykład dla preg_replace:
  1. $images = array(
  2. '<img src="img/haha.png">',
  3. '<img src="img/cat.gif">',
  4. );
  5. $codes = array(
  6. '#\:(haha)\:#',
  7. '#\:(kot)\:#',
  8. );
  9.  
  10. echo '<pre>Images:<br>';
  11. var_dump ($images);
  12. echo '</pre>';
  13.  
  14. echo '<pre>Codes:<br>';
  15. var_dump ($codes);
  16. echo '</pre>';
  17.  
  18. $string = 'I to by było na tyle :haha:, tutaj jest kot :kot:';
  19.  
  20. $result = preg_replace($codes, $images, $string);
  21.  
  22. echo '<pre>Result:<br>';
  23. echo $result;
  24. echo '</pre>';
  25.  
Go to the top of the page
+Quote Post
maki1234
post
Post #10





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.01.2015

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


No przeciez tez mam dwie tablice i dane sa w nich poprawnie wyswietlane ale dlaczego przy zamianie mi dodaje dwukropki do adresu? Moze zmienic to dukropki na cos innego no ale to by byla tylko ucieczka od problemu ale nie o to mi chodzi
Go to the top of the page
+Quote Post
bubx2k
post
Post #11





Grupa: Zarejestrowani
Postów: 30
Pomógł: 1
Dołączył: 17.11.2014

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


Dlatego, że masz dwie tablice dałem Ci przykład dla dwóch tablic - podałem Ci rozwiązanie na tacy.
Go to the top of the page
+Quote Post
maki1234
post
Post #12





Grupa: Zarejestrowani
Postów: 36
Pomógł: 0
Dołączył: 16.01.2015

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


Ej.... Widzisz i nie grzmisz. Otwieram dzisiaj stronę ze skryptem i wszystko działa jak należy, nie zmieniałem kompletnie nic... Nieznane są nam wyroki Boskie.

Dzięki za pomoc!
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 06:16