|
ПРОЕКТЫ ДАННОЙ КАТЕГОРИИ Полноценная видео связь (общение со звуком) Скрипт для массовой проверки PR Age и Expires Все проекты данной категории - 83 TOP 10 ФРИЛАНСЕРОВ Скрипты / Web-приложения
|
PHP скриптСкрипты / Web-приложения
Надо на PHP
часто нужно поменять урл у картинок в базе при переезде сайтов или когда хочется вставить картинку в статью на сайте с чужого сайта(не хорошо это конечно :(( ) проблемка в том что я с регекспами не очень дружу.. задача: 1. на входе текст статьи в переменной, $path= путь куда записать картинку. 2. найти все картинки("a href" может быть много вариантов) если картинка в папке уже есть то надо к ней добавить уникальный(можно случайны с проверкой) префикс 3. переписать картинку в папку 4. заменить в тектсе все адреса на полученный адрес в папке $path 5. к движку надо привязатся поэтому просьба использовать переменные $path = путь для картинок и $text = сам текст Вот я тут мудрил 2 дня если поможет... <? function API_M_page_name($f) { global $SHM_multi; $f1=basename($f); $exploded = explode('.',$f1); $ext = strtolower($exploded[1]); $file_name=strtolower($exploded[0]); $i = 0; $ff.=$SHM_multi.'/_upload/'.$f; while (file_exists('/'.$SHM_multi.'/_upload/'.$f1)) $f1=$file_name.($i++).'.'.$ext; $ff=$SHM_multi.'/_upload/'.$f1; return $ff; } // $id,lang, param function API_M_page_goimg(&$arg) { global $SHM_numlang, $SHM_multi; $L=$arg[1]; $result=APIfunc('db', 'select',array('page',array('id', 'title', 'text'),"cid='".$arg[0]."' and (lang='$SHM_numlang' or lang='all') ORDER BY lang DESC")); $path=$SHM_multi.'/_upload'; if (mysql_num_rows($result)>0) { // тут пытаемся поменять ссылки. и переписать картинку в path list($id, $title, $text) = mysql_fetch_array($result); $buf=strtolower($text); preg_match_all('/<img src=\"([^\"]+)\"/i',$buf,$url); $o='Find image:<br>'; for($i=0; $i<count($url[1]); $i++) { $fin= $url[1][$i]; $fout=API_M_page_name($fin); // $putdata=file_get_contents($fin); // $handle = fopen ($fout, 'a'); // fwrite ($handle, $putdata); // fclose ($handle); $o.="$fin -> $fout<br>"; $text = $fin.$fout.str_replace($fin, $fout, $text); } $o.=$text; APIfunc('db', 'update', array('page', array('title'=>$title, 'text'=>$txt), "id='".(int)$id."'")); $o.='moving image - OK.'; } return $o; } ?>
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||