![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Chciałbym napisać skrypt , który zamieniałby na przykład treść ":-)" na buźkę
![]() Oczywiście tych buziek i komend byłoby znacznie więcej. Jak myślicie , zrobić to w mysql'u ? Czy normalnie w php ? Ma ktoś jakiś pomysł ? Myślałem , żeby napisać mocno rozbudowaną funkcję if. Ten post edytował kamil1114 22.10.2009, 22:34:57 |
|
|
![]() |
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
Mocno przeczytaj MANUAL!!!
STR_REPLACE -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 283 Pomógł: 15 Dołączył: 22.03.2009 Skąd: Bytów Ostrzeżenie: (0%) ![]() ![]() |
Zapraszam do lektury mojego tutoriala z innego forum.
Skrypt, który przedstawię będzie zamieniał emotikony tekstowe na obrazkowe. Musimy ustalić zmienną dla katalogu emotek, najlepiej bezwzględną: Kod <!-- config.php --> <?php $sc = '/usr/krasnal/www/skrypty/moje/buzki/'; $format = 'gif'; Teraz zainicjujemy tabelę gdzie będziemy przechowywać nazwy plików z emotkami. Kod $buzki = array( "smile" => '/:\)/', "sad" => '/:\(/', "happy" => '/:D/', ); ?> Trzeba pamiętać, iż podajemy same nazwy (bez rozszerzeń). Zapisujemy owy plik jako config.php Określamy teraz właściwości odpowiadającego zmiennym w konfiguracji: Kod <?php class Buzki { var $sciezka; var $buzki; var $format; var $pliki; Zamieniamy tablicę z emotami tak, by wartości zawierały indeksy a indeksy wartości (funkcja array_flip()) Kod function sciezki( $tablica ) { foreach( $tablica AS $index => $wartosc ) { $gotowa[] = '<img src="' . $this -> pliki . $wartosc . '.' . $this -> format . '">'; } return $gotowa; } Wynik zostaje zapisany w tablicy $gotowa, jednak trzeba dołączyć plik konfiguracyjny i przypisać wartości jego zmiennych. Kod function Buzki() { include( './config.php' ); $this -> sciezka = $sc; $this -> format = $format; $this -> buzki = $buzki; Zadbać też trzeba o przygotowanie znaczników: Kod $this -> pliki = $this -> sciezki( array_flip( $buzki ) ); } Skorzystamy teraz z preg_replace() który zamienia pasujące wartości z jednej tablicy odpowiednikami z drugiej. Kod function zamien( $tekst ) { $wynik = preg_replace( $this -> buzki, $this -> pliki, $tekst ); return $wynik; } ?> Zapisujemy jako buzki.php Teraz, aby użyć naszej klasy w skrypcie musimy ją dołączyć: Kod include('buzki.php'); Plik buzki.php musi zmienić ścieżkę pliku konfiguracji na ten sam katalog: Kod include( './buzki/config.php' ); Pozostało utworzenia egzemplarza klasy: Kod $buzki = new Buzki;
-------------------- |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 117 Pomógł: 0 Dołączył: 22.02.2008 Skąd: katowice Ostrzeżenie: (0%) ![]() ![]() |
Bardzo dziękuję za udostępnienie skryptu. Niestety nie znam jeszcze OOP , ale na razie zastosuję ten skrypt , a później jak się nauczę OOP , to postaram się go zrozumieć.
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 243 Pomógł: 33 Dołączył: 30.01.2008 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Po 1 to jest napisane pod PHP4 czyli przestarzałe...
Po 2 nie wiem po co pisać klasę skoro można użyć 1 funkcji:
-------------------- http://rafal.brzezinski.me - skrypty, tutoriale i inne.
Jeśli udało Ci się rozwiązać problem podziękuj osobom, które ci pomogły. |
|
|
![]()
Post
#6
|
|
![]() Grupa: Moderatorzy Postów: 4 362 Pomógł: 714 Dołączył: 12.02.2009 Skąd: Jak się położę tak leżę :D ![]() |
Jest jeszcze jedna rzecz, o której niektórzy zapominają... Czasem emoty mają tekst w którego skład "wchodzą" inne emoty
![]() -------------------- Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 17:39 |