用某些单词替换某些图像

时间:2009-12-27 18:34:35

标签: php

我想改变单词:))到一个笑脸图像,然后用PHP从数据库显示它我该怎么做

3 个答案:

答案 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标签会显示原始的笑脸。