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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
ForposT_ForeveR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте.
Подскажите пожалуйста, как вырезать из кода, посредством РНР!
 
 
Код... код...код...
<p><strong>Pages:</strong>  1 <a href="http://site.ru/?page_id=3&amp;page=2">2</a> <a href="http://site.ru/?page_id=3&amp;page=3">3</a> и т.д.
Код..код...код...
 
Вопрос, как спарсить номер последней страницы.
 
Спасибо за помощь.

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 15:44 11-01-2009 | Исправлено: ForposT_ForeveR, 16:03 11-01-2009
SAOD

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

Код:
 
preg_match_all('#<a href="http://site.ru/\?page_id=3&amp;page=[0-9]+">([0-9]+)#', $test, $prega);
echo $prega[1][count($prega[1])-1];
 

Всего записей: 228 | Зарегистр. 30-12-2006 | Отправлено: 16:33 11-01-2009
Nukedx



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте!
 
Подскажите пожалуйста, как вырезать вот из такого кода:

Цитата:
...
  <p align="center">&nbsp;</p>
      <div align="center"><br />
        <div id="flash_video"><embed src="http://site/flvplayer.swf" width="685" height="525" allowfullscreen="true" wmode="opaque"  flashvars="&file=http://bl.rutube.ru/7e5ce8095cb17c0c6c77b473a0de24ec.flv&displaywidth=685&displayheight=525&FFFF
&image=http://i015.radikal.ru/0802/66/2e8ea7e15cce.jpg"></embed></div>
...

 
только http://bl.rutube.ru/7e5ce8095cb17c0c6c77b473a0de24ec.flv
 
мой пример: preg_match_all("#http(.*?)flv#ims", $text, $matches);
но это не совсем верно

Всего записей: 18 | Зарегистр. 31-10-2006 | Отправлено: 12:04 12-01-2009 | Исправлено: Nukedx, 12:11 12-01-2009
eternal2000



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nukedx
$text = 'p align="center">&nbsp;</p>
      <div align="center"><br />
        <div id="flash_video"><embed src="http://site/flvplayer.swf" width="685" height="525" allowfullscreen="true" wmode="opaque"  flashvars="&file=http://bl.rutube.ru/7e5ce8095cb17c0c6c77b473a0de24ec.flv&displaywidth=685&displayheight=525&FFFF
&image=http://i015.radikal.ru/0802/66/2e8ea7e15cce.jpg"></embed></div> ';
 
preg_match('%file=(.*(.flv))%i', (strstr($text, 'file=')), $flv);
echo $flv[1];

Всего записей: 185 | Зарегистр. 11-11-2007 | Отправлено: 14:00 12-01-2009
Nukedx



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
eternal2000
 
Класс! работает, спасибо

Всего записей: 18 | Зарегистр. 31-10-2006 | Отправлено: 14:56 12-01-2009
eternal2000



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Nukedx
пожалста




п. 2.10. главы VIII Соглашения по использованию /Cheery/

Всего записей: 185 | Зарегистр. 11-11-2007 | Отправлено: 18:05 12-01-2009 | Исправлено: eternal2000, 17:25 28-01-2009
Dunce



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Начал знакомиться с РВно так и не смог выполнить одну операцию.
 
Необходимо заменить найденые РВями строки на другой текст (replace)
 
есть текст выполненный в виде тегов (все обязательно закрыты)
 
<w1>a<w3>b</w3>c</w1>
<w1>d<w3>e</w3>f</w1>
 
т.е. имеются теги w1 и w3 ну и некоторые данные.
необходимо полностью заменить теги w3 кроме тех внутри которых заключен тег w1 т.е.
<w1>a<w3>b<w1>c</w1>d</w3>e</w1>
 
как пример должно работать так:
в тексте
<w1>a<w3>b</w3>c</w1>d <w1>e<w3>f<w1>g</w1>h</w3>i</w1>
заменить <w3>...</w3> на REPL
<w1>aREPLc</w1>d <w1>e<w3>f<w1>g</w1>h</w3>i</w1>
 

Всего записей: 2 | Зарегистр. 06-01-2006 | Отправлено: 16:37 22-01-2009 | Исправлено: Dunce, 16:39 22-01-2009
kivan



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

Код:
 
<?php
  $subject = '<w1>a<w3>b</w3>c</w1>d <w1>e<w3>f<w1>g</w1>h</w3>i</w1>';
  $result = preg_replace('%<w3>\w+</w3>%', 'REPL', $subject);
  print htmlentities($result);
?>
 

Всего записей: 341 | Зарегистр. 23-11-2004 | Отправлено: 11:20 23-01-2009
STEEL



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть такого плана текстовый файлик,  
 
Temp: 60
Heiu: 765.4
 
Как мне выдергнуть только значения 60, 765.4

Всего записей: 2293 | Зарегистр. 06-01-2002 | Отправлено: 21:16 25-01-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
STEEL

Цитата:
Temp: 60  

/(.*):\s+([0-9\.]+)/
будет массив.. в первом название, во втором значение
а можно и просто split строчку по : и потом применить trim - без каких либо регулярок.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:03 25-01-2009 | Исправлено: Cheery, 23:35 25-01-2009
Z4masko



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите,
[начало строки] - это начало строки вообще
 есть строки вида:
 
[начало строки]Лялялля (№
[начало строки]Лололол (№
[начало строки]Хехехех (№
 
Как с помощью регулярного выражения выцепить "Лялялля" например
То есть нужно выцепить все символы от начала строки до последовательности: (№

----------
Ремонт АКПП Лексус (Lexus): RX 300, RX 330, RX 350, LX 470, GX 470, GS 300 ...

Всего записей: 735 | Зарегистр. 05-11-2004 | Отправлено: 21:22 31-01-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Z4masko

Цитата:
То есть нужно выцепить все символы от начала строки до последовательности: (№

читаете строку, разбиваете с помощью split по вашему символу. даже регулярка не нужна

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:27 31-01-2009
Zakkazak



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Опять судьба забрасывает меня к веб програмистам, хотя к ним я имею самое отдаленное отношение
 
Как обозначить Enter, надо заменить
ААА
на
ВВВ
ААА

Всего записей: 995 | Зарегистр. 12-01-2005 | Отправлено: 19:03 02-02-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zakkazak

Цитата:
Как обозначить Enter, надо заменить
ААА
на
ВВВ
ААА

а нормальным языком? какой Enter и при чем тут он?  
в одном файле?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:06 02-02-2009
Zakkazak



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть WCMD_ENG.ini , есть текстовой редактор, который вроде понимает регулярные выражения.
Надо в ini файле заменить:
cmd=http
на
cmd=D:\SOFTWARE\www\OperaAC\OperaAC.exe
param=http

 
Добавлено:

Цитата:
какой Enter и при чем тут он
клавиша Ввод, замена будет не в пределах однойстроки

Всего записей: 995 | Зарегистр. 12-01-2005 | Отправлено: 19:23 02-02-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zakkazak

Цитата:
есть текстовой редактор, который вроде понимает регулярные выражения.

вы название темы читаете? PHP, а не "регулярные выражения какого то редактора".
если вам замену сделать в одном файле, а не в куче или на получаемых данных, то почему не сделать замену в любом текстовом редакторе? и если он поддерживает регулярки, то спросить в теме по данному редактору в разделе Программы?


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:44 02-02-2009 | Исправлено: Cheery, 19:44 02-02-2009
Zakkazak



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

Цитата:
"регулярные выражения какого то редактора"

Таких тем нет.
Поиск по всему Руборду выдал  ссылки только в этот подфорум к моему большому сожалению. Поэтому вопрос и был задан здесь.

Всего записей: 995 | Зарегистр. 12-01-2005 | Отправлено: 20:37 02-02-2009
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Zakkazak

Цитата:
Таких тем нет.  

создайте тему по программе в разделе программы

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:54 02-02-2009
ForposT_ForeveR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Здравствуйте.
Подскажите пожалуйста, как получить содержимое заключенное между
от
<h2 style="color:black; margin-left:0;">Картина:
до
</div></div></div>
Заранее огромное спасибо за помощь.

Всего записей: 525 | Зарегистр. 11-12-2004 | Отправлено: 21:04 28-02-2009
SAOD

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

Код:
 
$test='<h2 style="color:black; margin-left:0;">Картина:содержимое которое хотим получить</div></div></div>';
preg_match('#<h2 style="color:black; margin-left:0;">Картина:(.+?)</div></div></div>#s', $test, $preg);
echo $preg[1];
 

 

Всего записей: 228 | Зарегистр. 30-12-2006 | Отправлено: 22:17 28-02-2009 | Исправлено: SAOD, 22:19 28-02-2009
Открыть новую тему     Написать ответ в эту тему

Страницы: 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