Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] str_replace - uśmieszki
Majkelo23
post 11.04.2012, 21:45:16
Post #1





Grupa: Zarejestrowani
Postów: 226
Pomógł: 17
Dołączył: 13.02.2012

Ostrzeżenie: (0%)
-----


Mam problem z emotikonami, które od kilku godzin próbuję wprowadzić do swojego CMSa. Kod wygląda tak:

Kod
function prepare_message($message)
{
    $sql = "SELECT * FROM `smilies`";
        $result = mysql_query($sql)
            or die(mysql_error());
        while($row = mysql_fetch_assoc($result))
        {
            $code = $row['code'];
            $url = $row['smile_url'];
            
            $body .= ', "<img src="./templates/default/images/smilies/'.$url.'" border="0" title="titlee">';
            $bodyy .= ', "'.$code.'"';
        }
            
        $message = str_replace(array($bodyy,"\n", "[u]", "[b]", "[i]", "[/i]", "[/b]", "[/u]"), array($body,"\n<br />\n", "<u>", "<b>", "<i>", "</i>", "</b>", "</u>"), $message);
        
        return $message;
}


Ale to za cholerę nie chce zamieniać tekstów na ikony. Zrzut tabeli z bazy wygląda tak:



Może wy mi coś podpowiecie, bo ja od 2h nic nie potrafię z tego wykombinować ;/

Ten post edytował Majkelo23 11.04.2012, 21:46:08
Go to the top of the page
+Quote Post
maniana
post 11.04.2012, 22:05:01
Post #2





Grupa: Zarejestrowani
Postów: 207
Pomógł: 44
Dołączył: 18.05.2007

Ostrzeżenie: (0%)
-----


Po while wyprintuj sobie zawartość $body i $bodyy. Tworzysz stringa a nie tablice...
Do tablic najlepiej:
Przed pętlą:
  1. $body = array();
  2. $bodyy = array();
W środku:
  1. $body[] = '<img src="./templates/default/images/smilies/'.$url.'" border="0" title="titlee">';
  2. $bodyy[] = $code;
I do tego zamiana w dwóch krokach:
  1. $message = str_replace($bodyy, $body, $message);
  2. $message = str_replace(array("\n", "[ u]", "[ b]", "[ i]", "[/i]", "[/b]", "[/u]"), array("\n<br />\n", "<u>", "<b>", "<i>", "</i>", "</b>", "</u>"), $message);
Go to the top of the page
+Quote Post
Majkelo23
post 11.04.2012, 22:09:56
Post #3





Grupa: Zarejestrowani
Postów: 226
Pomógł: 17
Dołączył: 13.02.2012

Ostrzeżenie: (0%)
-----


Jesteś wielki smile.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 05:16