$rule='/\<img(?:\s.*)?src=[\'\"]?([^\'\"].+)[\"\']?(?:\s.*)?\>/U';
preg_match_all($rule,$content,$imgUrlArray);
foreach((array)$imgUrlArray[1] as $val){
if(substr($val,0,7)!='http://'){
echo "请把相对路径转换成绝对路径:".$val."<br>\n";
}
elseif (!copy($val, basename($val))){
echo "远程服务器不支持本方式获取文件:".$val.",请尝试socket!<br>\n";
}
else{
echo "copy".$val."成功。访问地址为:http://".$_SERVER['HTTP_HOST'].array_shift(pathinfo($_SERVER['PHP_SELF'])).'/'.basename($val)."<br>\n";
}
}
preg_match_all($rule,$content,$imgUrlArray);
foreach((array)$imgUrlArray[1] as $val){
if(substr($val,0,7)!='http://'){
echo "请把相对路径转换成绝对路径:".$val."<br>\n";
}
elseif (!copy($val, basename($val))){
echo "远程服务器不支持本方式获取文件:".$val.",请尝试socket!<br>\n";
}
else{
echo "copy".$val."成功。访问地址为:http://".$_SERVER['HTTP_HOST'].array_shift(pathinfo($_SERVER['PHP_SELF'])).'/'.basename($val)."<br>\n";
}
}
解决方案 »
- 谁帮我把这个JS转换成PHP格式的?
- wamp5设置utf8编码错误
- 求助一正则.
- 急求一段SQL的写法,我的SQL不能达到效果!!感谢!!
- 关于设置SESSION过期的问题
- 求助!!!!!!!!!
- 【求助】php + sphinx 配置后 无法使用!返回空!sphinx.conf是否配置正确
- 求救:Fatal error: Call to undefined function: sem_get() in /home/yjj/public_html/test/index.php on line 7
- windows下怎么编译apache2.0
- 请教各位大侠!!如何在用php生成的图形中加入汉字??(
- 这个正则排除了哪些字符呢/
- 关于Discuz论坛的问题
*把编辑器里的图片上传到本地,并替换URL *param $content 内容
*@return 返回更改后的内容
**/
function upPicFile($content)
{
//查找内容中图片地址的正则
$preg="/<img[^>]+src=\"?((http:\/\/)?(www.)?[^>]+[jpg|gif|png])\"?[^>]+>/i";
//正则匹配
preg_match_all($preg,$content,$records);
//循环内容中的URL
for($i=0;$i<count($records[1]);$i++)
{
//验证是否已是绝对路径
preg_match("/(http:\/\/)?(www.)?.*\..*\//i",$records[1][$i],$isAbs);
//如果是相对路径,则加上前缀
if(!$isAbs)
{
$content=str_replace($records[1][$i], SITEURL.$records[1][$i],$content);
//echo "test";
}
else
{
//验证图片是否已是本地图片
$localAddress=str_replace('/', '\/', SITEURL);
preg_match("/".$localAddress."/",$records[1][$i],$isLocal); //如果不是
if(!$isLocal)
{
//图片的URL
$picPath=$records[1][$i];//substr($records[1][$i],strrpos($records[1][$i],".")+1
//获取文件后辍名
$fileType=substr($picPath,strrpos($picPath,".")+1);
//文件保存路径和名称
$filePath="/FCKeditor/UserFiles/Image/".date("Ymd_His",time())."_".$i.".".$fileType;
//上传图片保存到本地,如果成功,则替换URL
if(copy($picPath,SITE_ROOT_PATH.$filePath))
{
$content=str_replace($picPath, SITEURL.$filePath,$content);
}
}
}
}
return $content;
}
上传不了图片,没有办法本地化。然后他又在前面多加了东西。变成 http://我的域名/图片所在域名/图片地址/
//正则匹配 preg_match_all($preg,$content,$records);
//echo $records;
echo count($records[1]);
显示 0