确定字符串是图像,youtube等的最佳方法

时间:2012-08-27 00:49:08

标签: php codeigniter

所以,我想在PHP中编写一个函数getType()。此函数将从Web表单(在CodeIgniter中)中获取用户输入的字符串,然后从中分析其内容,然后确定该字符串是否为照片(以.jpg,.png等结尾),YouTube视频链接, vimeo视频链接,或只是文字。

我只是很难想象最好,最经济的方法来实现这一目标。

if (strpos($content, ".jpg|.png|.bmp"))
{ return "image"; }
else if (strpos($content, "youtube.com"))
{ return "youtube"; }
else if (strpos($content, "vimeo.com"))
{ return "vimeo" }
else
{ return "text" }

1 个答案:

答案 0 :(得分:6)

这应该有效:

// check if string ends with image extension
if (preg_match('/(\.jpg|\.png|\.bmp)$/', $content)) {
    return "image";
// check if there is youtube.com in string
} elseif (strpos($content, "youtube.com") !== false) {
    return "youtube";
// check if there is vimeo.com in string
} elseif (strpos($content, "vimeo.com") !== false) {
    return "vimeo";
} else {
    return "text";
}

演示:http://codepad.viper-7.com/1V4joK

请注意,无法保证它是youtube或vimeo链接。因为这只检查字符串是否与服务匹配,仅此而已。