Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Регулярные выражения (RegExp, Regular, eregi, preg)

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Открыть новую тему     Написать ответ в эту тему

Rendom



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Учебники регулярных выражений
 
Кто сможет составить выражение для такого случая:

Код:
 
<table border=0>
<tr>
   <td>blablablabla<table border=0><tr><td>blablabla_UNIQTEXT_blablabla</td></tr></table></td>
   <td><table border=1><tr><td>blablabla</td></tr></table>666666</td>
</tr
</table>
 

Нужно удалить из этого всего кусок "<table border=0><tr><td>blablabla_UNIQTEXT_blablabla</td></tr></table>". Иными словами нужно вырезать текст от "<table" до "</table>" внутри которого есть строка "UNIQTEXT", но при этом не удалить лишнего. В результате должно получиться:

Код:
 
<table border=0>
<tr>
   <td>blablablabla</td>
   <td><table border=1><tr><td>blablabla</td></tr></table>666666</td>
</tr
</table>
 

Всего записей: 115 | Зарегистр. 27-10-2002 | Отправлено: 23:26 17-05-2005 | Исправлено: AZJIO, 04:05 09-12-2014
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
или нужно просто название файла выцепить из URL?  

 
ДА

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 09:06 20-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
ДА

ну так и пишите об этом внятно
https://www.php.net/manual/en/function.basename.php

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 09:07 20-08-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii

Цитата:
zagorisback
 
Цитата:
Как найти окончательный URL, отсутствующий по ссылке
 
самостоятельно - никак. либо перебором символов (названий файлов), либо попытаться найти если какой поисковик прошелся по сайту и другим и нашел ссылки на файлы по такому URL.
 
и при чем тут регулярка? или нужно просто название файла выцепить из URL?
 
Код:
echo basename('https://media.site.com/content/kot/2020-09/videos/car-bg-1/???.mp4');  

 
да
 
Я знаю этот адрес
 

Цитата:
https://media.site.com/content/kot/2020-09/videos/car-bg-1/

 
Но я не знаю имя файла
 

Цитата:
???.mp4

 
Как помогает функционировать "basname"?

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 09:18 20-08-2022 | Исправлено: zagorisback, 09:24 20-08-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Но я не знаю имя файла


Цитата:
самостоятельно - никак. либо перебором символов (названий файлов), либо попытаться найти если какой поисковик прошелся по сайту и другим и нашел ссылки на файлы по такому URL.

никак. читать выше.

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 09:26 20-08-2022
Alinalessio

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите пожалуйста подобрать регулярку, чтобы выловить вторую строку, если:
 

Код:
 
<p class="detail_light">Перед двоеточием: После двоеточия</p>
<p class="detail_light">Текст без двоеточий <br>
  <span>...</span>
</p>
 

 
Строчки отличаются только тем, что у второй строчки нет двоеточия в тексте.
Пытаюсь найти строку, которая без двоеточия и до тега <span>, чтобы получить "Текст без двоеточий"
 
Мой вариант (нерабочий):
 

Код:
 
<p .*?>(.*?[^:])<span .*?
 

 
В чём я ошибся? Поправьте пожалуйста.

Всего записей: 223 | Зарегистр. 21-06-2010 | Отправлено: 08:58 13-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alinalessio

Цитата:
В чём я ошибся? Поправьте пожалуйста.

/<p[^>]+>([^:]+)<span/

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 09:07 13-10-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
доброе утро
Как извлечь эти струны из URL?
 
Max von Sydow
Linda Blair
 

Код:
 
<?php
 
<td class="text-left">
<a href="https://sitedemo.com/mod/max-von-sydow.html" target="_blank">Max von Sydow</a>,  
<a href="https://sitedemo.com/mod/linda-blair.html" target="_blank">Linda Blair</a></td>
 
 

 
Код также может быть таким
 

Код:
<td class="text-left">
<a href="https://sitedemo.com/mod/max-von-sydow.html" target="_blank">Max von Sydow</a></a></td>  

 
Max von Sydow

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 10:12 16-10-2022 | Исправлено: zagorisback, 10:13 16-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Код:
$str = '<td class="text-left">
<a href="https://sitedemo.com/mod/max-von-sydow.html" target="_blank">Max von Sydow</a>,  
<a href="https://sitedemo.com/mod/linda-blair.html" target="_blank">Linda Blair</a></td>';
 
preg_match_all('#<a[^>]*>(.*)</a>#Us', $str, $m);
var_dump($m);

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 10:20 16-10-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
Только эта извлечение, в красном
 
   
 
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 12:39 16-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Только эта извлечение, в красном

и в чем сложность?? не умеете работать с массивами?
$m[1] и есть те два значения..

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 22:38 16-10-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
 

Цитата:
и в чем сложность?? не умеете работать с массивами?
$m[1] и есть те два значения..

 
Да, 1 и 0
Я решил проблему другим способом (более эффективным)
Спасибо, в любом случае

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 23:04 16-10-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору


Цитата:
<meta property="og:image" content="https://m.media-amazon.com/images/M/MV5BYWFlZGY2NDktY2ZjOS00ZWNkLTg0ZDAtZDY4MTM1ODU4ZjljXkEyXkFqcGdeQXVyMjUzOTY1NTc@._V1_UY1200_CR79,0,630,1200_AL_.jpg">"

 
Как это извлечь? Кажется, что это не работает на PHP
 
Но здесь с группой 2 и выбранным
 
https://regex101.com/r/gO9Ng7/1
 
 

Код:
preg_match_all('#(<meta property="og:image" content=")(.+?)(?">"#', $data1, $resultimage);
 
var_dump($resultimage);

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 23:44 31-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
https://regex101.com/r/NqgaSU/1

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 23:46 31-10-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 

Цитата:
https://regex101.com/r/NqgaSU/1

 
 
   
 
 
 

Код:
$webUrl1="https://www.imdb.com/title/tt0070047/";
 
$data1 = get($webUrl1);
 
 
 
preg_match_all('#<meta property="og:image" content="([^"]+)">#', $data1, $resultimage);
//$resultimage = $resultimage[1];
 
echo '<img src="'.$resultimage .'" width="101" height="150">';
 
echo '<br>';
 
var_dump($resultimage);


Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 23:55 31-10-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
echo '<img src="'.$resultimage .'" width="101" height="150">';

$resultimage - массив
 
preg_match_all для 1 результата не нужен.
 
по ссылке content="...."/>, то есть />, а не просто >

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 00:13 01-11-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
по ссылке content="...."/>, то есть />, а не просто >

 
 

Цитата:
<meta property="og:image" content="https://m.media-amazon.com/images/M/MV5BYWFlZGY2NDktY2ZjOS00ZWNkLTg0ZDAtZDY4MTM1ODU4ZjljXkEyXkFqcGdeQXVyMjUzOTY1NTc@._V1_UY1200_CR79,0,630,1200_AL_.jpg">

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 00:20 01-11-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback
   
достаточно просто
#<meta property="og:image" content="([^"]+)"#U

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 00:35 01-11-2022 | Исправлено: Mavrikii, 00:56 01-11-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 

Цитата:
достаточно просто
#<meta property="og:image" content="([^"]+)"#U

 
 
Теперь это работает, спасибо
 
PS:

Цитата:
U = Unicode

 
Правильно?
 

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 08:27 01-11-2022
Mavrikii

Platinum Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
zagorisback

Цитата:
Правильно?

нет, Ungreedy (привычка, тут этот флаг вообще не нужен)
уникод - маленькое u, но тут он не нужен, так как передается как html entities

Всего записей: 15040 | Зарегистр. 20-09-2014 | Отправлено: 08:30 01-11-2022 | Исправлено: Mavrikii, 08:31 01-11-2022
zagorisback



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mavrikii
 
lazy quantifiers
 
   

Всего записей: 623 | Зарегистр. 05-05-2014 | Отправлено: 09:07 01-11-2022
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61

Компьютерный форум Ru.Board » Интернет » Web-программирование » PHP: Регулярные выражения (RegExp, Regular, eregi, preg)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru