【发布时间】:2016-03-07 11:32:28
【问题描述】:
我有替换字符串 ex 的函数。 :smile: 带图片标签。
function out_emoj($str)
{
$emoj_array = array(
"cry", "grimacing", "joy","smiley","innocent", "wink", "flushed", "slight_smile",
"stuck_out_tongue_winking_eye", "relaxed", "crab","cat","expressionless", "pig", "rose", "cherry_blossom",
"sunny", "cloud_snow", "coffee","tea","grin", "ring", "crown", "nerd",
"heart_eyes", "kissing_heart", "sunglasses","scream","rage","disappointed","fearful","confused",
"dizzy_face", "zipper_mouth", "thermometer_face","sleeping","ghost","smiley_cat","smile_cat","joy_cat",
"heart_eyes_cat", "smirk_cat", "kissing_cat","scream_cat","crying_cat_face","pouting_cat","thumbsup","thumbsdown",
"angel", "dancer", "kimono","heart","purple_heart","sparkling_heart","heart_decoration","snowflake",
);
return preg_replace("/:(.*?):/", " <img width='22' src='".base_url('assets/img/emojiones/$1.png')."' alt='$1'> ", $str);
}
我想检查匹配字符串是否在数组中,然后替换其他跳过。 例如:如果用户输入 :notfound: 函数将添加带有不存在图像的标签。我想先检查“notfound”是否在数组中。
【问题讨论】:
-
看看:
preg_replace_callback() -
你为什么不使用一个简单的循环?在这种情况下,预赛完全是矫枉过正。
标签: php preg-replace