我来自数据库的网址如下。
http://34.158.85.145/file/pic/user/2014/11/d424bc46529b9f8d764b6b485e6c8716%s.png
现在,如果仔细查看图像名称,会在其中插入一些特殊符号。我想避免它,所以我为它编写了以下逻辑,但它没有用。
$user_image = Slug('http://34.158.85.145/file/pic/user/2014/11/d424bc46529b9f8d764b6b485e6c8716%s.png');
function Slug($string) {
return strtolower(trim(preg_replace('~[^0-9a-z]+~i', '-', html_entity_decode(preg_replace('~&([a-z]{1,2})(?:acute|cedil|circ|grave|lig|orn|ring|slash|th|tilde|uml);~i', '$1', htmlentities($string, ENT_QUOTES, 'UTF-8')), ENT_QUOTES, 'UTF-8')), '-'));
}
有人可以帮我用PHP清理这个图像名称吗?
提前致谢。
答案 0 :(得分:1)
如果您只想从URL的文件名中删除所有特殊字符(除了'。'),您可以使用以下内容:
<?php
$url = 'http://34.158.85.145/file/pic/user/2014/11/d424bc46529b9f8d764b6b485e6c8716%s.png';
$exp= explode('/', $url);
$image = array_pop($exp);
$replace = preg_replace('/[^A-Za-z0-9.\-]/', '', $image);
$url = str_replace($image, $replace, $url);
var_dump($url);