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.phpOkreś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.phpTeraz, 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;