PHP用图像替换文本

时间:2012-04-03 06:59:40

标签: php string replace

这将是一个数据数组:

$array = array("sad","bow","blabla");

如果 $input = "I love Stackoverflow! :bow: so much";

输出应为:

I love Stackoverflow <img src="smiley/bow.gif" alt=""/> so much

实现这一目标的最佳和最快方法是什么?

2 个答案:

答案 0 :(得分:1)

$array = array(':('=>"sad",'-_-'=>"bow",'bla'=>"blabla");
$input = "I love Stackoverflow! :bow: so much";
$output = str_replace(array_keys($array), array_values($array), $input);

编辑:抱歉..没有清楚地看清楚。

尝试2:

preg_replace('`:(\w+):`', '<img src="smily/\1.gif" alt=""/>', $input);

无论如何都喜欢这样。

可能必须使用$1代替\1。阅读the docs

答案 1 :(得分:0)

//string replace example.
$input = "I love Stackoverflow! :bow: so much"; 
echo str_replace(":bow:","< img src='smiley/bow.gif' alt=''/>",$input)."<br /><br />";


//use string replace with foreach 
$array = array("sad","bow","blabla");

foreach($array as $value)
{
  $input = "I love Stackoverflow! :'".$value."': so much";
  echo str_replace(":'".$value."':","< img src='smiley/$value.gif' alt=''/>",$input);  
}