Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/8: Рейтинг темы: голосов - 8, средняя оценка - 4.88
20 / 1 / 1
Регистрация: 29.08.2011
Сообщений: 161

preg_match_all c условием

23.12.2011, 13:09. Показов 1616. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
как мне составить условие чтобы он искал в новости самую первую картинку со значение img или img=left и выводил ее содежимое
я пытался сделать но он выводить все картинки где тег имг а мне нуно самую первую картинку вот код

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 $str = "[center][img=left]imag/1317977557_44.png[/img][/center][img]imag/8.png[/img]
[b][u]Информация об Игре[/u][/b]
[b]Название: [color=#3333FF]Need For Speed: Hot Pursuit Limited Edition[/color][/b]
[b]Жанры: [/b]Arcade / Racing (Cars) / 3D
[b]Язык Интерфейса: [/b] только русский
[b]Год выпуска: [/b]2010
[b]Разработчик: [/b] Criterion Games
[b]Издатель: [/b] Electronic Arts
[b]Размер файла: [/b]  4,58гб
 
[b]Об Игре: [/b]В Need for Speed Hot Pursuit Limited Edition издание войдут 6 эксклюзивных автомобилей: Alfa Romeo 8C Competizione, Ford Shelby GT500, Audi TT RS Coupe;, Chevrolet Camaro SS, Porsche Cayman S (модель для полицейских) и Dodge Challenger SRT8. Стоит отметить, что модели Alfa Romeo 8C Competizione и Ford Shelby GT500 будут доступны исключительно в Need for Speed Hot Pursuit Limited Edition, выпущенном ограниченным тиражом, и ни в каких других версиях игры больше не появятся. 
 Эти мощные гоночные машины дают игрокам существенное преимущество, которым они могут воспользоваться, чтобы обойти на дороге всех соперников. Неважно, участвует игрок в коллективном или одиночном заезде, либо же сравнивает результаты пройденных гонок. Преимущество, которым обладают владельцы расширенного издания, является очень важным фактором, ведь главное в игре - дух соревнования. 
 Игра Need for Speed Hot Pursuit разрабатывается студией Criterion Games, создателями завоевавшей всеобщее признание гоночной серии Burnout. Признанные новаторы вновь изменяют основы жанра и представляют проект, который объединяет игроков и предлагает им не только соревноваться друг с другом в Интернете, но и выполнять задания своих друзей. 
 Основой Need for Speed Hot Pursuit служит комплекс сетевых режимов, объединенный системой Need for Speed Autolog, которая позволяет игрокам легко общаться, соревноваться друг с другом и сравнивать свои достижения. 
 Экзотические машины и восторг погони – все это Need for Speed Hot Pursuit.
[img]imag/8.png[/img]
[spoiler=Особенности репака]версия игры 1,5
язык интерфейса только русский
автор 45king
[/spoiler]";
preg_match_all("#\[img[^\]]*\](.+?)\[/img\]#i", $str, $matches);
echo "<img src='{$matches[1][0]}'>";}
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
23.12.2011, 13:09
Ответы с готовыми решениями:

preg_match_all
немогу правильно регулярку написать , вот к примеру текст $content=&quot; &lt;a href=&quot;site.com&quot;...

PHP preg_match_all
Здравствуйте. Проблема с поиском preg_match_all preg_match_all('/\(+)\/iu', $news_content, $key_none_r); //line 35 нужно...

Строковая печалька.* preg_match_all
$fURL = c('MainForm-&gt;tForum')-&gt;text; $fGenID = c('MainForm-&gt;tGenID')-&gt;text; $fAuthor = c('MainForm-&gt;tAuthor')-&gt;text; $fgt =...

2
 Аватар для Andruhin
142 / 142 / 27
Регистрация: 19.12.2011
Сообщений: 250
23.12.2011, 15:58
Цитата Сообщение от 45king Посмотреть сообщение
как мне составить условие чтобы он искал в новости самую первую картинку со значение img или img=left и выводил ее содежимое
я пытался сделать но он выводить все картинки где тег имг а мне нуно самую первую картинку вот код

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 $str = "[center][img=left]imag/1317977557_44.png[/img][/center][img]imag/8.png[/img]
[b][u]Информация об Игре[/u][/b]
[b]Название: [color=#3333FF]Need For Speed: Hot Pursuit Limited Edition[/color][/b]
[b]Жанры: [/b]Arcade / Racing (Cars) / 3D
[b]Язык Интерфейса: [/b] только русский
[b]Год выпуска: [/b]2010
[b]Разработчик: [/b] Criterion Games
[b]Издатель: [/b] Electronic Arts
[b]Размер файла: [/b]  4,58гб
 
[b]Об Игре: [/b]В Need for Speed Hot Pursuit Limited Edition издание войдут 6 эксклюзивных автомобилей: Alfa Romeo 8C Competizione, Ford Shelby GT500, Audi TT RS Coupe;, Chevrolet Camaro SS, Porsche Cayman S (модель для полицейских) и Dodge Challenger SRT8. Стоит отметить, что модели Alfa Romeo 8C Competizione и Ford Shelby GT500 будут доступны исключительно в Need for Speed Hot Pursuit Limited Edition, выпущенном ограниченным тиражом, и ни в каких других версиях игры больше не появятся. 
 Эти мощные гоночные машины дают игрокам существенное преимущество, которым они могут воспользоваться, чтобы обойти на дороге всех соперников. Неважно, участвует игрок в коллективном или одиночном заезде, либо же сравнивает результаты пройденных гонок. Преимущество, которым обладают владельцы расширенного издания, является очень важным фактором, ведь главное в игре - дух соревнования. 
 Игра Need for Speed Hot Pursuit разрабатывается студией Criterion Games, создателями завоевавшей всеобщее признание гоночной серии Burnout. Признанные новаторы вновь изменяют основы жанра и представляют проект, который объединяет игроков и предлагает им не только соревноваться друг с другом в Интернете, но и выполнять задания своих друзей. 
 Основой Need for Speed Hot Pursuit служит комплекс сетевых режимов, объединенный системой Need for Speed Autolog, которая позволяет игрокам легко общаться, соревноваться друг с другом и сравнивать свои достижения. 
 Экзотические машины и восторг погони – все это Need for Speed Hot Pursuit.
[img]imag/8.png[/img]
[spoiler=Особенности репака]версия игры 1,5
язык интерфейса только русский
автор 45king
[/spoiler]";
preg_match_all("#\[img[^\]]*\](.+?)\[/img\]#i", $str, $matches);
echo "<img src='{$matches[1][0]}'>";}
У тебя все правильно сделано. Я добавил вывод массива $matches целиком, для наглядности. Путь на первую картинку лежит в $matches[1][0]

Вот код страницы сгенеренный твоим скриптом на моей локали. Как видишь, путь в img вывелся первым вхожденим по регулярке.
HTML5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Array
(
    [0] => Array
        (
            [0] => [img=left]imag/1317977557_44.png[/img]
            [1] => [img]imag/8.png[/img]
            [2] => [img]imag/8.png[/img]
        )
 
    [1] => Array
        (
            [0] => imag/1317977557_44.png
            [1] => imag/8.png
            [2] => imag/8.png
        )
 
)
<img src='imag/1317977557_44.png'>
1
20 / 1 / 1
Регистрация: 29.08.2011
Сообщений: 161
23.12.2011, 17:27  [ТС]
Andruhin, я иной раз туплю
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.12.2011, 17:27
Помогаю со студенческими работами здесь

preg_match_all поиск и замена
Здравствуйте как можно сделать поиск по шаблону найти теги {скрыть}{/скрыть} и что будет между тегами должно стерется вот например есть...

Получение значение href preg_match_all
Есть html код &lt;ul&gt; &lt;li&gt;&lt;a data-ajax-link=&quot;1&quot; class=&quot;&quot; href=&quot;/категория/КАНЦТОВАРЫ/РАСПРОДАЖА&quot;&gt;РАСПРОДАЖА&lt;/a&gt;&lt;/li&gt; ...

Preg_match_all() expects parameter 2 to be string, array given
Добрый день! ошибка в коде $content = file('http://www.merlion.com/catalog/product/929443/'); //получаем стр $content =...

Беда с preg_match_all (использую как основу ЧПУ)
У меня в бд хранится список правил, типов ссылок. Вот так я ищу правило для запрошенной ссылки preg_match_all('/^'.$Rule.'$/u', $Path,...

preg_match_all - Выполняет глобальный поиск шаблона в строке
Народ помогите разобраться не магу понять где косяк. preg_match_all('/\(*)\/i', $content_text, $match); if(count($match) &gt; 0){ ...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru