Witamy, Gość. Zaloguj się lub zarejestruj.

Autor Wątek: Zamiana tekstu na emotki  (Przeczytany 3146 razy)

0 Użytkowników i 1 Gość przegląda ten wątek.

Abik

Zamiana tekstu na emotki
« dnia: Styczeń 29, 2011, 14:24:33 »
Tutorial opisujący jak zmienić emotkę : ) na obrazek :) .

W tym tutorialu napiszę jak zamienić np. ": )" na emotkę ":)"
Będzie nam do tego potrzebna funkcja str_replace.
W pliku emotki.php stworzymy funkcję:
<?php
function emotki($tekst)
{
     
// jako pierwszy argument podajemy kod emotki a jako drugi kod obrazka a trzeci to tekst
     
$tekst str_replace(' emotka''obrazek'$tekst);
       
     
// przyklady
     
$tekst str_replace(' ;)'' <img src="emoty/mruga2.gif">'$tekst);
     
$tekst str_replace(' :/'' <img src="emoty/kwasny.png">'$tekst);
     
$tekst str_replace('[lol]''<img src="emoty/lol.gif">'$tekst);
    
     
//zwracamy przerobiony tekst
      
return $tekst;
}
?>


Druga wersja w pętli:

<?php
 
function emotki($tekst)
{
      
//tablica z emotkami
      
$emoty = Array(' ;)' => 'mruga2.gif',
      
' :/' => 'kwasny.gif',
      
'[lol]' => 'lol.gif');
       
      
// pętla
      
foreach($emoty as $kod => $obrazek)
      
$tekst str_replace($kod'<img src="images/emoty/'.$obrazek.'">'$tekst);
     
       
//zwracamy przerobiony tekst
      
return $tekst;
}
?>


Dobra ale jak tego używać? Bardzo prosto: wybieramy sobie jakąś wersje funkcji (oby dwie działają) i później:

<?php

// dołączamy plik z naszą funkcją
include "emotki.php";
       
// nasz tekst
$tekst 'Dostałem dzisiaj jedynkę z matmy :/ ale za to ładna dziś pogoda ;)';
       
// wyświetlamy jako zwykły tekst
echo $tekst;
echo 
'<br /><br />'// odstęp

// wyświetlamy z emotkami
echo emotki($tekst);
?>


________________________________

Autor poradnika: Fafu http://rafal-brzezinski.pl/

czarnowidz

  • *
  • Podziękowania otrzymane: 0
    • Zobacz profil
Odp: Zamiana tekstu na emotki
« Odpowiedź #1 dnia: Styczeń 29, 2011, 14:24:51 »
W identyczny sposób tworzy się BBCode... począwszy od łatwiejszych (bold), a kończąc na tych trudniejszych (linki etc). :-)