php.lv forumi: Smiles - php.lv forumi

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Smiles rādās simbolu vietā

#1 User is offline   Kaspars Silins Icon

  • Māceklis
  • Pip
  • Group: Reģistrētie lietotāji
  • Posts: 11
  • Joined: 2006.08.07

Posted 2010.02.09 01:57

nezinu vai rakstu pareizajā kategorījā, bet man vajaga domāju ka tas varētu būt java scripts, attiecīgā simbolu vietā rādās smaidiņš, piemēram kā tas ir visos forumos.. :) meklēju google, bet kautkā neatradu, vai nemācēju atrast, varbūt kādam ir pa rokai kāds scripts, vai javascripts, kur var redzēt piemēru.. ;(

#2 User is offline   2easy Icon

  • Spama meistars
  • PipPipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 1,495
  • Joined: 2009.10.02

Posted 2010.02.09 08:31

$teksts = 'lalala :)) lalala :)';
echo str_replace(array(':))', ':)'), array('<img src="/images/smile/lolol.gif" alt="" />', '<img src="/images/smile/lol.gif" alt="" />'), $teksts);
ar javascript to arī var, taču ar php ir vieglāk ;)

This post has been edited by 2easy: 2010.02.09 08:34


#3 User is offline   EdgarsA Icon

  • Kein
  • PipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 371
  • Joined: 2009.06.09

Posted 2010.02.09 09:27

<?
function smile($txt=''){
 $smile = array(
	':)'=>'smile',
	':-)'=>'smile',
	':-]'=>'smile',
	':*'=>'kiss',
	':D'=>'laught',
	':P'=>'tangue'
 );
 foreach($smile as $key=>$img){ $txt = str_replace($key,'<img src="/images/smiles/'.$img.'.gif">',$txt); }
 return $txt;
}


$text = 'Čau sauļuk :*, ļoti ilgojos :):*';

echo smile($text);
// Čau sauļuk <img src="/images/smiles/kiss.gif">, ļoti ilgojos <img src="/images/smiles/smile.gif"><img src="/images/smiles/kiss.gif">
?>

This post has been edited by EdgarsA: 2010.02.09 09:28

© Kein

#4 User is offline   rATRIJS Icon

  • Es programmēju HTML
  • PipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 553
  • Joined: 2008.11.23

Posted 2010.02.09 11:10

Reku tev JAVA skripts:

String img = 'http://www.stephenwolfram.com/publications/articles/computation/86-random/figs/gif150/86random-f1.1.gif';
String s = 'Mans mega strings :)';
String replaced_s = s.replaceAll(':)', img);
System.out.println(replaced_s);

Ekskuzi par manu garum/miikstinaajum ziimju truukumu :) uzleeju laptopam teejas kruuzi un tagad nestrada puse taustinju :P izmantoju iPhone ka bezvadu klaviaturu (sun) a un darba man arii nav to trako ziimju :)

#5 User is offline   Kaspars Silins Icon

  • Māceklis
  • Pip
  • Group: Reģistrētie lietotāji
  • Posts: 11
  • Joined: 2006.08.07

Posted 2010.02.09 13:34

tnx Jums.. ;)

#6 User is offline   2easy Icon

  • Spama meistars
  • PipPipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 1,495
  • Joined: 2009.10.02

Posted 2010.02.09 14:43

tikai cerams tu spēsi atšķirt, kura atbilde ir joks un kura ir padoms ^^

P.S.
ņem EdgarsA variantu. nopietni ;)

#7 User is online   eT` Icon

  • Daudzsološais profiņš
  • PipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 230
  • Joined: 2008.01.08

Posted 2010.02.10 12:59

emm man maza problēmiņa.
skripts gan ir mazliet cits bet smailiju f-ja līdzīga

$smilies = array(
		  ":)" => "smile2.gif",
		  ":D" => "grin.gif",
		  ":p" => "tongue.gif",
		  ":/" => "confused.gif",
		  ":(" => "sad.gif",
		  ";(" => "weep.gif",
		  ":o" => "blink.gif",
		  "8)" => "cool1.gif",
		  "(blush)" => "blush.gif",
		  "(love)" => "wub.gif",
		  "(hello)" => "wave.gif",
		  ":@" => "rant.gif",
		  ":x" => "nugget.gif",
		  "(inlove)" => "lovers.gif",
		  ":*" => "kissing2.gif",
		  "(devil)" => "devil.gif",
		  "o.O" => "crazy.gif",
		  "(stupid)" => "chair.gif",
		  "(beer)" => "beer2.gif",
		);
	
		reset($smilies);
		while (list($code, $url) = each($smilies))
		$s = str_replace($code, "<img border=0 src=\"http://filmam.lv/images/smilies/$url\" title=\"". htmlspecialchars($code) ."\" alt=\"" . htmlspecialchars($code) . "\">", $s);


bet pie izvades iegūstu:
://filmam.lv/images/smilies/smile2.gif" title=":)" alt=":)">

kas viņam http nepatīk?

EDIT: jaunā versija, bet rāda tikai to confused smaidiņu :/
$urlis = 'http://filmam.lv';
reset($smilies);
while (list($code, $url) = each($smilies))
$s = str_replace($code, "<img border=0 src=\"".htmlspecialchars($urlis)."/images/smilies/".htmlspecialchars($url)."\" title=\"". htmlspecialchars($code) ."\" alt=\"" . htmlspecialchars($code) . "\">", $s);

This post has been edited by eT`: 2010.02.10 13:09


#8 User is offline   EdgarsA Icon

  • Kein
  • PipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 371
  • Joined: 2009.06.09

Posted 2010.02.10 13:10

$smilies = array(
 ":)" => "smile2.gif",
 ":D" => "grin.gif",
 ":p" => "tongue.gif",
 ":/" => "confused.gif",
 ":(" => "sad.gif",
 ";(" => "weep.gif",
 ":o" => "blink.gif",
 "8)" => "cool1.gif",
 "(blush)" => "blush.gif",
 "(love)" => "wub.gif",
 "(hello)" => "wave.gif",
 ":@" => "rant.gif",
 ":x" => "nugget.gif",
 "(inlove)" => "lovers.gif",
 ":*" => "kissing2.gif",
 "(devil)" => "devil.gif",
 "o.O" => "crazy.gif",
 "(stupid)" => "chair.gif",
 "(beer)" => "beer2.gif",
);
reset($smilies);
while (list($code, $url) = each($smilies)){
 $img = '<img border="0" src="%s" title="%s" alt="%s">'; 
 $s = str_replace($code, sprintf($img,$url,htmlspecialchars($code),htmlspecialchars($code)),$s);
}
$url = "http://filmam.lv/images/smilies/";
$s = str_replace('src="','src="'.$url,$s);


iemesls tam bija $url = "http://filmam.lv/images/smilies/";
© Kein

#9 User is online   eT` Icon

  • Daudzsološais profiņš
  • PipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 230
  • Joined: 2008.01.08

Posted 2010.02.10 13:16

Tiešām.
Paldies, neiedomājos ka to uztvers kā smailiju :D

#10 User is offline   EdgarsA Icon

  • Kein
  • PipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 371
  • Joined: 2009.06.09

Posted 2010.02.10 13:17

ka tad lai to uztver ? ;)
© Kein

#11 User is offline   2easy Icon

  • Spama meistars
  • PipPipPipPip
  • Group: Reģistrētie lietotāji
  • Posts: 1,495
  • Joined: 2009.10.02

Posted 2010.02.10 13:54

šādām transformācijām/repleisiem iesaku izmantot strtr()

Quote

strtr() will always look for the longest possible match first and will *NOT* try to replace stuff that it has already worked on
ļoti palīdz, kad vajag izvairīties no vairākkārtīgas repleisošanas. turklāt nekādu for ciklu nevajag. tikai padod array ar mappingu

This post has been edited by 2easy: 2010.02.10 13:56


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic