Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Регулярное выражение для описания участка кода
 
 автор: pautina   (31.01.2012 в 15:29)   письмо автору
 
 

Здравствуйте Уважаемое сообщество.
Какое регулярное выражение можно использовать чтобы описать этот участок кода.

<A href="lessons.php?rub=1&amp;id=1661">Создай светящегося супергероя в Фотошоп</A><SPAN>Автор/Переводчик: <A class=small href="/lessons.php?aut=78">Рыбка</A></SPAN> <BR><SPAN class=Hard>Сложность: <A class=small href="/lessons.php?dif=3">Усложненная</A></SPAN></P> 
<P>

  Ответить  
 
 автор: cheops   (31.01.2012 в 15:34)   письмо автору
 
   для: pautina   (31.01.2012 в 15:29)
 

1. Описать с какой целью (удалить, извлечь, извлечь фрагменты)?
2. Таких участков много или он уникален?

  Ответить  
 
 автор: pautina   (31.01.2012 в 16:19)   письмо автору
 
   для: cheops   (31.01.2012 в 15:34)
 

- Описать нужно для последующего удаления,
- Таких учасков кода много все они разные (разный адрес ссылки и текст внутри неё, разный автор и ссылка для него, разный текст сложности и ссылка для неё)

пример таких 2 записей можете посмотреть здесь

<LI><P class=index_lessons><IMG title="миниатюра к уроку Создаём абстрактное золотое кольцо в Фотошоп" height=42 alt="миниатюра к уроку Создаём абстрактное золотое кольцо в Фотошоп" src="lessons/les1689/mini.jpg" width=42><A href="lessons.php?rub=1&amp;id=1689">Создаём абстрактное золотое кольцо в Фотошоп</A><SPAN>Автор/Переводчик: <A class=small href="/lessons.php?aut=40">Максим Енин</A></SPAN> <BR><SPAN class=Hard>Сложность: <A class=small href="/lessons.php?dif=1">Легкая</A></SPAN></P>
<P>В этом уроке вы узнаете, как при помощи кистей дыма сделать абстрактное кольцо со световыми эффектами.</P>
<P class=Created>Создан: 11.11.2011&nbsp;&nbsp;|&nbsp;&nbsp;Просмотров: 52466 &nbsp;&nbsp;|&nbsp;&nbsp; Выполнено работ: 211</P>


<LI><P class=index_lessons><IMG title="миниатюра к уроку Создай экспрессивную космическую иллюстрацию в Фотошоп" height=42 alt="миниатюра к уроку Создай экспрессивную космическую иллюстрацию в Фотошоп" src="lessons/les1677/mini.jpg" width=42><A href="lessons.php?rub=1&amp;id=1677">Создай экспрессивную космическую иллюстрацию в Фотошоп</A><SPAN>Автор/Переводчик: <A class=small href="/lessons.php?aut=152">Садыгалиев Марат</A></SPAN> <BR><SPAN class=Hard>Сложность: <A class=small href="/lessons.php?dif=3">Усложненная</A></SPAN></P>
<P>В этом уроке вы узнаете, создать интересную иллюстрацию, используя различные техники, световые эффекты, цветокоррекцию.</P>
<P class=Created>Создан: 1.11.2011&nbsp;&nbsp;|&nbsp;&nbsp;Просмотров: 53524 &nbsp;&nbsp;|&nbsp;&nbsp; Выполнено работ: 38</P>

Из них нужно удалять эти участки кода

<A href="lessons.php?rub=1&amp;id=1661">Создай светящегося супергероя в Фотошоп</A><SPAN>Автор/Переводчик: <A class=small href="/lessons.php?aut=78">Рыбка</A></SPAN> <BR><SPAN class=Hard>Сложность: <A class=small href="/lessons.php?dif=3">Усложненная</A></SPAN></P>  
<P>

Как это сделать не подскажете?

  Ответить  
 
 автор: Sfinks   (31.01.2012 в 23:19)   письмо автору
 
   для: pautina   (31.01.2012 в 16:19)
 

<?php
  header
("content-type: text/plain");
  
$html = <<<HTML
<LI><P class=index_lessons><IMG title="миниатюра к уроку Создаём абстрактное золотое кольцо в Фотошоп" height=42 alt="миниатюра к уроку Создаём абстрактное золотое кольцо в Фотошоп" src="lessons/les1689/mini.jpg" width=42><A href="lessons.php?rub=1&amp;id=1689">Создаём абстрактное золотое кольцо в Фотошоп</A><SPAN>Автор/Переводчик: <A class=small href="/lessons.php?aut=40">Максим Енин</A></SPAN> <BR><SPAN class=Hard>Сложность: <A class=small href="/lessons.php?dif=1">Легкая</A></SPAN></P>
<P>В этом уроке вы узнаете, как при помощи кистей дыма сделать абстрактное кольцо со световыми эффектами.</P>
<P class=Created>Создан: 11.11.2011&nbsp;&nbsp;|&nbsp;&nbsp;Просмотров: 52466 &nbsp;&nbsp;|&nbsp;&nbsp; Выполнено работ: 211</P>

<LI><P class=index_lessons><IMG title="миниатюра к уроку Создай экспрессивную космическую иллюстрацию в Фотошоп" height=42 alt="миниатюра к уроку Создай экспрессивную космическую иллюстрацию в Фотошоп" src="lessons/les1677/mini.jpg" width=42><A href="lessons.php?rub=1&amp;id=1677">Создай экспрессивную космическую иллюстрацию в Фотошоп</A><SPAN>Автор/Переводчик: <A class=small href="/lessons.php?aut=152">Садыгалиев Марат</A></SPAN> <BR><SPAN class=Hard>Сложность: <A class=small href="/lessons.php?dif=3">Усложненная</A></SPAN></P>
<P>В этом уроке вы узнаете, создать интересную иллюстрацию, используя различные техники, световые эффекты, цветокоррекцию.</P>
<P class=Created>Создан: 1.11.2011&nbsp;&nbsp;|&nbsp;&nbsp;Просмотров: 53524 &nbsp;&nbsp;|&nbsp;&nbsp; Выполнено работ: 38</P>
HTML;

  
$pattern "#<a.*?/span.*?/span>#si";
  
$html preg_replace($pattern,"",$html);
  echo 
$html;

  Ответить  
 
 автор: pautina   (01.02.2012 в 09:02)   письмо автору
 
   для: Sfinks   (31.01.2012 в 23:19)
 

Сейчас код вывода в строке такой

<p><img class="alignleft" style="float: left; margin: 0px 10px 10px 0px" title="миниатюра к уроку Создай светящегося супергероя в Фотошоп" height="42" alt="миниатюра к уроку Создай светящегося супергероя в Фотошоп" src="images/lessons/les1661/mini.gif" width="42"></P>
<P>
В этом уроке вы узнаете, как обычную иллюстрацию превратить в ретро-футуристическую художественную работу, а так же как сделать световой эффект быстрого движения.</P>

Мне нужно ещё удалить оттуда

</P>
<P>

Как подкорректировать этот скрипт

<?php 
 header
("Content-Type: text/html; charset=UTF-8");      
 
$str '<LI><P class=index_lessons><IMG title="миниатюра к уроку Создай светящегося супергероя в Фотошоп" height=42 alt="миниатюра к уроку Создай светящегося супергероя в Фотошоп" src="lessons/les1661/mini.gif" width=42><A href="lessons.php?rub=1&amp;id=1661">Создай светящегося супергероя в Фотошоп</A><SPAN>Автор/Переводчик: <A class=small href="/lessons.php?aut=78">Рыбка</A></SPAN> <BR><SPAN class=Hard>Сложность: <A class=small href="/lessons.php?dif=3">Усложненная</A></SPAN></P>
<P>В этом уроке вы узнаете, как обычную иллюстрацию превратить в ретро-футуристическую художественную работу, а так же как сделать световой эффект быстрого движения.</P>
<P class=Created>Создан: 14.10.2011&nbsp;&nbsp;|&nbsp;&nbsp;Просмотров: 47022 &nbsp;&nbsp;|&nbsp;&nbsp; Выполнено работ: 37</P>
'

     
/* preg_match_all('#src="([^"]+)"#i', $str, $matches); // показывает ссылку для изображения      
     $matches[1] = str_replace('lessons', 'http://www.photoshop-master.ru/lessons', $matches[1]); // к адресу ссылки прибавляем http://www.photoshop-master.ru/ */ 
     
     
$str preg_replace('#(<img\s[^>]*?\bsrc\s*=\s*[\'"]?)lessons/#i''$1images/lessons/'$str); // Замена адреса изображения в строке  
     
$strstr_replace('<LI><P class=index_lessons>''<p>'$str);
     
$strstr_replace('<IMG''<img class="alignleft" style="float: left; margin: 0px 10px 10px 0px"'$str);
     
$strstr_replace('height=42''height="42"'$str);
     
$strstr_replace('width=42''width="42"'$str);
     
     
$pattern "#<a.*?/span.*?/span>#si"
     
$str preg_replace($pattern,"",$str);
         
     
$findme='<P class=Created>Создан:'
     
$pos strpos($str$findme); // определяем позицию $findme в переменной $str 
     
$newstr substr($str0$pos); // создаём новую строку из str от 0 сивола до символа $pos   
     
    // echo '<pre>';   
    
print_r($newstr);    

?>

  Ответить  
 
 автор: Sfinks   (01.02.2012 в 11:04)   письмо автору
 
   для: pautina   (01.02.2012 в 09:02)
 

ТЫДЫШЬ!

#<a.*?<p>#si
вместо
#<a.*?/span.*?/span>#si

  Ответить  
 
 автор: pautina   (01.02.2012 в 11:07)   письмо автору
 
   для: Sfinks   (01.02.2012 в 11:04)
 

Теперь результат работы скрипта выводит такой код

<p><img style="float: left; margin: 0px 10px 10px 0px; " title="миниатюра к уроку Создай светящегося супергероя в Фотошоп" height="42" alt="миниатюра к уроку Создай светящегося супергероя в Фотошоп" src="images/lessons/les1661/mini.gif" width="42">В этом уроке вы узнаете, как обычную иллюстрацию превратить в ретро-футуристическую художественную работу, а так же как сделать световой эффект быстрого движения.</p>

Как мне в этот код добавить ссылку

<a href="http://photoshop-portal/p1178#more-1178" class="more-link">Скачать / Подробнее</a></p>

т.е. нужно </p> заменить на <a href="http://photoshop-portal/p1178#more-1178" class="more-link">Скачать / Подробнее</a></p>

  Ответить  
 
 автор: pautina   (01.02.2012 в 17:50)   письмо автору
 
   для: pautina   (01.02.2012 в 11:07)
 

Хотя нет, это я сделал.
Можно ли для ссылки
<a href="http://photoshop-portal/p1178#more-1178" class="more-link">Скачать / Подробнее</a></p>
То что обведено жирным шрифтом брать из таблицы БД
Если да какой код для этого можно использовать?
БД bd_photoshop-portal таблица table_category в поле ID=1178 а в поле Field 4=p1178

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования