С наступающим Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы
PHP: RegExp
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
fireridlle
75 / 75 / 13
Регистрация: 02.02.2012
Сообщений: 462
1

вытащить img

19.04.2012, 10:45. Просмотров 1220. Ответов 2
Метки нет (Все метки)

в $_POST['content'] хранится что вроде такого:
<img src="url" />
<p>...</p>
...
<ul>...</ul>
нужно поделить это на две части.
в первой будет находится <img src="url" />, во второй все остальное

url img разные, все что после имг тоже может иметь разный вид.
думаю для тег кто знает регулярку будет не сложно, а то я с ней не дружу
0
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.04.2012, 10:45
Ответы с готовыми решениями:

Выдрать IMG
Добрый вечер! Есть исходный код: Помогите написать регулярку чтобы обрезать, и получилось...

Поменять src в img
Привет! В тексте есть строки вида &lt;img ... src=&quot;/images/image.png&quot; ... &gt; Нужно их преобразовать...

Удаление bbcode img
Пытаюсь удалить тэг img из текста записываю регулярное выражение. $text =...

Вырезать тег <img>
Здравствуйте, не могу решить проблему, нужно вырезать тег &lt;img&gt; preg_match...

Не удаляется тег <img>
почему этот код не удаляет тег &lt;img &gt;? Ведь символ . (точка) означает любой символ $content =...

2
Lt.
16 / 16 / 7
Регистрация: 30.04.2011
Сообщений: 41
20.04.2012, 03:50 2
Лучший ответ Сообщение было отмечено fireridlle как решение

Решение

написал функцию которая вернет массив(картинки и контент отдельно), пробуйте

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$temp = '<img src="url" />
<p>...</p><img src="url2" />
<ul>...</ul>';
 
function some_name($temp){
        $array = array();
    $pattern = '/<img(.*?)>/i';
    preg_match_all($pattern, $temp, $matches);
        
    if(!empty($matches[0])){
            foreach($matches[0] as $img){
                $array['images'][] = $img;
            }
            
            $array['content'] = preg_replace($pattern, '', $temp);
            
            return $array;
    }
        return false;
}
вернет

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
array(2) {
  ["images"]=>
  array(2) {
    [0]=>
    string(17) "<img src="url" />"
    [1]=>
    string(18) "<img src="url2" />"
  }
  ["content"]=>
  string(26) "
 
<p>...</p>
 
<ul>...</ul>"
}
1
fireridlle
75 / 75 / 13
Регистрация: 02.02.2012
Сообщений: 462
20.04.2012, 12:19  [ТС] 3
огромное спасибо за помощь.
если мне нужно вытащить только первый имг то вместо preg_match_all нужно использовать preg_match, да?
и еще что нужно изменить что бы ф-ция вытаскивала не "<img src="url" />" а только юрл
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.04.2012, 12:19

Вырезать тег <img>
Здравствуйте, не могу решить проблему, нужно вырезать тег &lt;img&gt; preg_match...

Регулярка для bbcode img
Здравствуйте. bbcode: alt регулярка: &quot;/\(.+?)\/is&quot; результат:&lt;img src=&quot;link&quot; alt=&quot;alt&quot;&gt; ...

Регулярка для ссылки в img
Функция catch_that_image(), ловит первое изображение из поста и вытаскивает его в превью, но...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru