我想改变单词:))到一个笑脸图像,然后用PHP从数据库显示它我该怎么做
答案 0 :(得分:3)
解决方案是使用str_replace
函数。
例如(使用“:-)
”,我比“:))
”更喜欢 - 只是品味问题^^由您决定使用“正确的” ):
$str = "This is a sentence with a smiley :-)";
$new_str = str_replace(
array(
':-)',
),
array(
'<img src="smiley.png" alt=":-)" />'
),
$str
);
echo $new_str;
会得到这个输出:
This is a sentence with a smiley <img src="smiley.png" alt=":-)" />
即。笑脸已被图像所取代。
请注意,我在调用str_replace
时使用数组作为第一个和第二个参数:如果你有其他表情符号,你可以将它们添加到这两个数组(第一个数组用于“搜索”字符串,第二个用于“替换”)。
(我的意思是:无需多次调用str_replace
:有一次,使用数组,应该足以进行多次替换)
并且,作为旁注:我使用了笑脸的原始“文本”作为alt
标签的img
属性:这样,如果图像无法显示,浏览器将显示文本版本笑脸 - 这比什么都没有好。
答案 1 :(得分:1)
您可以使用以下内容:
str_replace(':))', '<img src="path to your image" title="image title" />', $string);
如果要替换多个'表情符号',请使用数组:
$find = array(
':)',
':('
);
$replace = array(
'<img src="path to happy image" title="" />',
'<img src="path to sad image" title="" />');
);
str_replace($find, $replace, $string);
答案 2 :(得分:0)
您可以使用以下内容。为您拥有的每张图片创建一个新的替代品。
$message = str_replace(":)", "<img src='happy.png' alt=':)'/>", $message);
$message = str_replace(":(", "<img src='unhappy.png' alt=':('/>", $message);
这会将$message
"I'm happy :)"
变为"I'm happy <img src='happy.png' alt=':)'/>"
。当用户看不到图像时,alt标签会显示原始的笑脸。