Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] pytanie w sprawie funckji ostatnie ogłoszenia
Forum PHP.pl > Forum > Przedszkole
Konuss
Witam stworzylem taką funckje do wyciągnia ostatnich ogłoszeń ze skryptu który posiadam:

  1. function last_ogl() {
  2. global $menu_tbl, $PHP_SELF, $color;
  3. $query = "SELECT ogl_id, ogl_tytul, ogl_aktywne FROM _o_ogloszenia
  4. WHERE ogl_aktywne LIKE '1' ORDER BY ogl_id desc LIMIT 8";
  5. $result = mysql_query($query);
  6. while($r = mysql_fetch_array($result)) {
  7. $ogl_tytul = $r['ogl_tytul'];
  8. $ogl_aktywne = $r['ogl_aktywne'];
  9. $ogl_id = $r['ogl_id'];
  10. $ogl_tytul = stripslashes($ogl_tytul);
  11. $text = '?><SPAN class="arr1">&raquo;</SPAN> <A href="http://www.ekonin.net/ogloszenia/'.$ogl_tytul.','.$ogl_id.'.html" title="">'.$ogl_tytul.'</a><br><?;
  12. eval($text);
  13. }
  14. }


I mam taki problem wszysttko ładnie mi wyciąga oprucz linku do danego ogłoszenia tzn:
  1. http://www.ekonin.net/ogloszenia/Mieszkanie%20na%20sprzedaż,20071003155436.html

A powinien wyglądać tak:
  1. http://www.ekonin.net/ogloszenia/mieszkanie_na_sprzedaz,20071003155436.html


Jak to naprawić proszę o pomoc ;/
kossa
jeśli dobrze pamiętam kolejność parametrów, sprawdz w manualu - zamieniacz spacje na podkreślenie
  1. <?php
  2. $ogl_tytul=eregi_replace(" ", "_", $ogl_tytul);
  3. ?>


Łukasz
Konuss
Hm no tak a sprawa polskich liter itd no i duza a mała litera smile.gif

I tak nadal proszę o pomoc ponieważ nie potrafięsobie dać z tym rady sad.gif
kossa
eregi_replace nie rozróżnia wielkości liter
tekst możesz zawsze zamienić na małe strtolower" title="Zobacz w manualu PHP" target="_manual - wystarczy poszukać, a polskie litery - masz eregi... napisz sobie zamianę z ą na a itd. coś od siebie, inaczej się nie nauczysz, napisałeś już tyle to to teraz prościzna, powodzenia!

Łukasz
Konuss
Okey zrozumiałem to dosadnie smile.gif
i mam coś takiego :
  1. <?php
  2. $ogl_tytul=eregi_replace(" ", "_", $ogl_tytul);
  3. $ogl_tytul=eregi_replace("&sup1;","a", $ogl_tytul);
  4. $ogl_tytul=eregi_replace("&aelig;","c", $ogl_tytul);
  5. $ogl_tytul=eregi_replace("&ecirc;","e", $ogl_tytul);
  6. $ogl_tytul=eregi_replace("&sup3;","l", $ogl_tytul);
  7. $ogl_tytul=eregi_replace("&ntilde;","n", $ogl_tytul);
  8. $ogl_tytul=eregi_replace("ó","o", $ogl_tytul);
  9. $ogl_tytul=eregi_replace("œ","s", $ogl_tytul);
  10. $ogl_tytul=eregi_replace("&iquest;","z", $ogl_tytul);
  11. $ogl_tytul=eregi_replace("Ÿ","z", $ogl_tytul);
  12. $ogl_tytul=eregi_replace("&yen;","A", $ogl_tytul);
  13. $ogl_tytul=eregi_replace("&AElig;","C", $ogl_tytul);
  14. $ogl_tytul=eregi_replace("&Ecirc;","E", $ogl_tytul);
  15. $ogl_tytul=eregi_replace("&pound;","L", $ogl_tytul);
  16. $ogl_tytul=eregi_replace("&Ntilde;","N", $ogl_tytul);
  17. $ogl_tytul=eregi_replace("Ó","O", $ogl_tytul);
  18. $ogl_tytul=eregi_replace("Œ","S", $ogl_tytul);
  19. $ogl_tytul=eregi_replace("&macr;","Z", $ogl_tytul);
  20. $ogl_tytul=eregi_replace("","Z", $ogl_tytul);
  21. $ogl_tytul = strtolower($ogl_tytul);
  22. $ogl_tytul = preg_replace('/[^a-z0-9_]/', '', $ogl_tytul);
  23. ?>


A teraz taki problem jak to rozwiązać ponieważ za wyswietlenie tytułu odpowiada $ogl_tytul i za wyswietlenie linka też jak sobie z tym porwadzic ponieważ dodaj ten kod zmienia mi się również tytuł smile.gif

Dziekuje za pomoc ucze sie choc wogóle nie wchdozi to mi do głowy ;/ i działam ciagle na cms-ach ;/
kossa
Przed zamianą liter utwórz drugą zmienną zawierająca tytuł oryginalny bez zmian smile.gif
Konuss
Dałem poprostu:
  1. <?php
  2. $ogl_tytul = $ogl_opis;
  3. ?>


I działa to dla mnie nowośc biggrin.gif Dziekuje winksmiley.jpg

A teraz prosiłbym o pomoc jak w tym skrypcje (funckji) Stworzyc zmienna którą mogłby ustawic maksymalna liczbe liter do wysiwtlanej tresć tzn tematu ogłoszenia biggrin.gif
Moli
Funkcja strlen liczy liczbe liter w stringu.
kossa
Tak, strlen" title="Zobacz w manualu PHP" target="_manual przyda się.

Zmienna tak:)

  1. <?php
  2. $ile_liter=15;//czyli 15 liter
  3. ?>


i jeśli dłuższy będzie ciąg znaków to możesz ucinać tytuł - funkcja substr" title="Zobacz w manualu PHP" target="_manual

  1. <?php
  2. if (strlen($tytul)>$ile_liter)
  3.  $tytul=substr($tytul, 0, $ile_liter); 
  4. else
  5.  $tytul=$tytul;
  6. ?>


Poczytaj jakiś podstawowy kurs dot. funkcji jakie są w php smile.gif

Łukasz
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.