webForumDet fria alternativet

array, str_replace och smilisar

PHPur PHP

7 svar · 594 visningar · startad av Mr T

Medlem sedan maj 20071 061 inlägg
Frågan#1

Tanken är att jag ska byta ut mina smilisar i meddelanden mot bilder.

	$contact_emoticon_match[":("]; $contact_emoticon_replace["<img src=\"../images/emoticon_unhappy.gif\"/>"];
	$contact_emoticon_match[":-("]; $contact_emoticon_replace["<img src=\"../images/emoticon_unhappy.gif\"/>"];
	$contact_emoticon_match[";D"]; $contact_emoticon_replace["<img src=\"../images/emoticon_wink_happy.gif\"/>"];
	$contact_emoticon_match[";-D"]; $contact_emoticon_replace["<img src=\"../images/emoticon_wink_happy.gif\"/>"];
	$contact_emoticon_match[";)"]; $contact_emoticon_replace["<img src=\"../images/emoticon_wink_smile.gif\"/>"];
	$contact_emoticon_match[";-)"]; $contact_emoticon_replace["<img src=\"../images/emoticon_wink_smile.gif\"/>"];

$message_text = str_replace($contact_emoticon_match, $contact_emoticon_replace, $message_text);

Antar att jag lägger upp arryen fel, men hoppas att någon är mer vaken än jag och kan se problemmet. Kan jag inte skapa en arrya på det sättet, och finns det då något snyggt sätt att lägga upp det på? (Programmerar alltid för sent)

Medlem sedan dec. 2004736 inlägg
#2

Du skapar en array genom att skriva @contact_emoticon_match[] = ":("; och så vidare!

[":("] skapar en post i din array med :( som index.

Medlem sedan juni 20006 031 inlägg
#3

Jag gör så här:

$smile_search = array(
						":e", 
						":heart", 
						":rose", 
						":thumbup", 
						":thumbdown",
						":q", 
						":h", 
						":x", 
						":P",
						":p", 
						"x(", 
						":(", 
						":t", 
						":)", 
						":o", 
						":bla"
						);
					$smile_replace = array(
					   "<img src='smilies/biggrin.gif' width='18' height='18' alt='stort flin' />", 
					   "<img src='smilies/heart.gif' width='18' height='18' alt='hjärta' />", 
					   "<img src='smilies/rose.gif' width='18' height='18' alt='ros' />", 
					   "<img src='smilies/thumbup.gif' width='18' height='18' alt='tummen upp' />", 
					   "<img src='smilies/thumbdown.gif' width='18' height='18' alt='tummen ner' />",
					   "<img src='smilies/confused.gif' width='18' height='18' alt='undrande' />",
					   "<img src='smilies/cool.gif' width='18' height='18' alt='lugn' />",
					   "<img src='smilies/cry.gif' width='18' height='18' alt='gråter' />",
					   "<img src='smilies/drool.gif' width='18' height='18' alt='dreglar' />", 
					   "<img src='smilies/happy.gif' width='18' height='18' alt='glad' />", 
					   "<img src='smilies/mad.gif' width='18' height='18' alt='arg' />", 
					   "<img src='smilies/sad.gif' width='18' height='18' alt='ledsen' />", 
					   "<img src='smilies/sleepy.gif' width='18' height='18' alt='sömnig' />", 
					   "<img src='smilies/smile.gif' width='18' height='18' alt='leende' />", 
					   "<img src='smilies/suprised.gif' width='18' height='18' alt='förvånad' />", 
					   "<img src='smilies/tongue.gif' width='18' height='18' alt='retsam' />"
					   );
					
					$text = str_replace($smile_search, $smile_replace, $text);
Medlem sedan maj 20071 061 inlägg
#4

Men kan jag använda en sådan array i komandot str_replace ?

Läser jag ex. på php.net ska det vara följande

$test  = "You should eat fruits, vegetables, and fiber every day.";
$healthy = array("fruits", "vegetables", "fiber");
$yummy   = array("pizza", "beer", "ice cream");

$newphrase = str_replace($healthy, $yummy, $text);
Medlem sedan maj 20071 061 inlägg
#5

Pedda skrev:

Jag gör så här:

Jag kan altså inte göra en snygg lösning där jag har tecknen för smilisen och bilden på samma rad ?

Medlem sedan dec. 2004736 inlägg
#6
$contact_emoticon_match[] = ":("; $contact_emoticon_replace[] = "<img src=\"../images/emoticon_unhappy.gif\"/>";

kan kanske fungera!

Medlem sedan maj 20071 061 inlägg
#7

Ledel - tack ! Precis den lösningen jag sökte.

Tack alla som svarade !

Medlem sedan maj 20071 061 inlägg
#8

Följdfråga : finns det någon standard på smilisar ? Blev lite förvånad då jag kollade igenom Peddas lista då det var många jag inte kände till.

139 ms totalt · 3 externa anrop · v20260731065814-full.b746b907
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)