PHP скрипт

Андрей21 год в сервисе
Данные заказчика будут вам доступны после подачи заявки
30.05.2008

Надо на 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('/

$o='Find image:
';

for($i=0; $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
";

$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;

}

?>

Заявки фрилансеров