2014-10-08 9 views
0

У меня есть строка, которая имеет как текст, так и изображения, но я хотел бы удалить первое изображение только с помощью php.извлечь первое изображение и удалить первое изображение из строки

$string = 'This is my test <img src="link_to_image1">, some other text. 
<img src="link_to_another_image" border="0">'; 
$str = preg_replace('/\<img src=\"[aA-zZ0-9\/\_\.]+\"\>/','',$string, 1); 
+0

я попытался, как это я получил ответ $ feed_desc = preg_replace ('/ (<) ([img]) (\ w +) ([^>] *>)/',' ', $ str, 1); –

ответ

0
$feed_desc = preg_replace('/(<)([img])(\w+)([^>]*>)/', '', $str,1); 
0

сделать это с помощью обратного вызова. может быть немного более гибким для вас в случае, если Вы желаете, чтобы делать вещи в будущем на основе изображений в различных положениях в строке

class imgReplacer { 

    function cb($matches){ 

     if (!$this->counter){ 

      $this->counter++; 
      return ''; 

     } else { 

      return $matches[0]; 

     } 

    } 

} 


$ir = new imgReplacer; 
$ir->counter = 0; 

$string = 'This is my test <img src="link_to_image1">, some other text. <img src="link_to_another_image" border="0">'; 

$string = preg_replace_callback(
    '#(<img.*?>)#', 
    array(&$ir, 'cb'), 
    $string); 

echo $string; 

This is my test , some other text. <img src="link_to_another_image" border="0"> 
Смежные вопросы