2015-02-05 2 views
-1

У меня есть HTML-документ, мне нужно заменить IMG SRC с одним мне нужно, например:нужно заменить часть IMG SRC с PHP

Я это внутри HTML-документа

<img src="img/lists/temp/1/12345.jpg"> 

мне нужно заменить его на

<img src="img/lists/1/12345.jpg"> 

Это код, я использую для вызова HTML:

$link->query("INSERT INTO table(titulo,url,id_cate,id_quien,id_marca,filtros,descripcion,cantidad,precio,subasta,condicion,garantia,tipo_venta,envio,fstart,fend,plan,status,envio_precio) SELECT titulo,url,id_cate,id_quien,id_marca,filtros,descripcion,cantidad,precio,subasta,condicion,garantia,tipo_venta,envio,fstart,fend,plan,status,envio_precio FROM temp_table WHERE temp_table.id_publicacion = '$id'")){ 
        $newId = $link->insert_id; 
        $description = str_replace("img/lists/temp/","img/lists/",$description); 
        $link->query("UPDATE table SET descripcion = '$description' WHERE id = '$newId'"); 

Я попытался с:

$description = str_replace("img/lists/temp/","img/lists/",$description); 

Но это не работает, и это разбивает содержимое HTML

Как я могу добиться этого? Также я могу иметь более одного img в документе HTML.

Цените помощь

+0

Показать код до и после точки. Как вы печатаете html на странице и как вы повторно добавляете $ description в html? – James

+3

Собственно, это 'str_replace()' должно работать нормально. –

+1

Это работает: http://ideone.com/k59xQY – ajtamwojtek

ответ

1

У вас есть это ...

$description = 'img/lists/temp/' 

Перед тем, как это сделать ...

$description = str_replace("img/lists/temp/","img/lists/",$description); 
0

Попробуйте что-то вроде этого:

$str = '<img src="img/lists/temp/1/12345.jpg">'; 
$rep = 'img/lists/1/12345.jpg'; 
$description = preg_replace('#(<img.*src=")[^"]+(".*>)#', "$1{$rep}$2", $str); 
+0

Спасибо! я собираюсь проверить это и отчитаться –

Смежные вопросы