Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Zmiana tekstu w obrazek - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript)
+--- Wątek: Zmiana tekstu w obrazek (/thread-zmiana-tekstu-w-obrazek)



Zmiana tekstu w obrazek - iseebadpixels - 09-11-2012

Witam

Posiadam forum oparte na skrypcie, w którym nie ma wbudowanych emotikon.
Postanowiłem się za to zabrać, niestety moja znajomość Javascript/PHP jest praktycznie znikoma.

W pliku .html będącym szkieletem (definiującym wygląd danego tematu) znalazłem fragment
Kod:
{$post.text}
odpowiedzialny za wyświetlanie treści postów.

Znalazłem w sieci też następujący skrypt

Kod:
 
<script type="text/javascript">
//<![CDATA[
var smiley_array = [':)',':D','8)'];
var smiley_xhtml = ['happy','big-grin','joe-cool'];
 
function smiley(text)
{
 for (var i = 0; i< smiley_array.length; i++)
 {
  var word = smiley_array[i];
  var smiley_img = '<img alt="Smiley" src="images/smilie_' + smiley_xhtml[i] + '.gif" />';
  //word = new RegExp(word, 'gi');
  text = text.replace(smiley_array[i],smiley_img);
 }
 return text;
}
 
document.write(smiley('Hello! :) I :) hope you enjoy :D your stay 8).'));
//]]>
</script>

Jednak on zamienia tekst na uśmieszek tylko w tekście określonym w kodzie, a nie w każdym przypadku tekstu czyli u mnie
Kod:
{$post.text}
.

Jak sprawić aby to
Kod:
{$post.text}
był tekstem w którym skrypt zamienia tekst na uśmieszek? Jeśli np. w poście pojawi się :- ) to aby kod automatycznie zamieniał go na Smile itd.

Proszę o pomoc, pozdrawiam.


RE: Zmiana tekstu w obrazek - camelrafal - 13-11-2012

najlepiej zrobić to w php bo w javascripcie to wyższa szkoła jazdy (aby w tekscie pojawiały ci się od razu podczas pisania emotki)

po co korzystać z javascripta do przerobienia tekstu na emotki skoro można wyswietlic emotki juz podczas odbierania strony z serwera

w php wystarczy że mając jakiś $teskt skorzystarz z funkcji preg_replace i masz z głowy
albo jeszcze łatwiej str_replace
http://php.net/manual/en/function.str-replace.php