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

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

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: Нужно в HTML коде заменить все теги img на ссылки

Сообщения:  [1-8] 

 
 автор: Laborant   (08.10.2007 в 15:10)   письмо автору
 
   для: Faraon   (05.10.2007 в 09:40)
 

Спасибо большое

   
 
 автор: Faraon   (05.10.2007 в 09:40)   письмо автору
 
   для: Laborant   (04.10.2007 в 19:39)
 


<pre>
<?php

$d
="начало<IMG height=25 alt=\"\" src=\"file:///D:/Оператор1/Chess/book/bookphp/images/help.gif\" width=40 border=0>
Тут какой то текст<IMG height=25 alt=\"\" src=\"file:///D:/Оператор1/Chess/book/bookphp/images/help1.gif\" width=40 border=0>
Еще текст"
;
preg_match_all("!<IMG height=25 alt=\"\" src=\"([^\"]+)\" width=40 border=0>!is",$d,$out);

print_r ($out[1]);

?>

   
 
 автор: Laborant   (04.10.2007 в 19:39)   письмо автору
 
   для: Faraon   (11.09.2007 в 12:14)
 

уменя тже один вопрос мне нужно вот с этого взять тока адрес сылки на файл
<IMG height=25 alt=\"\" src=\"file:///D:/Оператор1/Chess/book/bookphp/images/help.gif\" width=40 border=0 >
тоесть
file:///D:/Оператор1/Chess/book/bookphp/images/help.gif
я уже все перепробывал, помогите

   
 
 автор: Faraon   (11.09.2007 в 12:14)   письмо автору
 
   для: Geo_li   (11.09.2007 в 11:51)
 

Попробуйте так

<?php
$text
='<table width="500" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#99FF99">
  <tr>
    <td bgcolor="#CCFFCC">
        <p>&nbsp;</p>
        </td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">
Согласно недавним поправкам в законодательство, в этом году из 107 депутатов Мажилиса
 абсолютное большинство избирается по партийным спискам. В выборах примут участие
 семь политических партий, включая Народно-Демократическую партию «Hyp Стан»,
 обладающую парламентским большинством.
 <p align="justify"><img src="348/3480014.jpg" width="150" height="200" border="1" align="center">
Кроме того, каждому избирателю необходимо осознано делегировать наиболее  достойных
кандидатов. Это - наша выборная власть! Это - наша страна! Это - наша жизнь!
</p>
      </td>
  </tr>
</table>'
;
$str="<a href='$1_s.jpg' rel=\"lightbox\" title=''>
<img src='$1.jpg'  width=\"$2\" height=\"$3\" border=\"1\" align=\"$4\" class=\"phpto_album\" />
</a>
"
;
print 
preg_replace("#<img src=\"(.+?)\.jpg\" width=\"(\d+)\" height=\"(\d+)\"[^>]+ align=\"(.+?)\">#is"$str$text);

?>

   
 
 автор: Geo_li   (11.09.2007 в 11:51)   письмо автору
 
   для: Faraon   (11.09.2007 в 11:15)
 

Спасибо, работает на ЯТЬ, но в догонку вопрос.
Нужно чтобы скрипт выполнялся до конца, т.е. если в тексте несколько фотографий, чтобы он все обработал и еще, чтобы свойства width="" height="" align="" тоже в зависимости от фотографии менялись. т.е. одно фото имеет ширину 150 второе 300 или центровка по левому или по правому, в общем это переменные данные.
Спасибо.

   
 
 автор: Faraon   (11.09.2007 в 11:15)   письмо автору
 
   для: Geo_Li   (11.09.2007 в 10:45)
 

Если заменить то что-то типа

<?php
$text
='<table width="500" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#99FF99">
  <tr>
    <td bgcolor="#CCFFCC">
        <p>&nbsp;</p>
        </td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">
Согласно недавним поправкам в законодательство, в этом году из 107 депутатов Мажилиса
 абсолютное большинство избирается по партийным спискам. В выборах примут участие
 семь политических партий, включая Народно-Демократическую партию «Hyp Стан»,
 обладающую парламентским большинством.
 <p align="justify"><img src="348/3480014.jpg" width="150" height="200" border="1" align="left">
Кроме того, каждому избирателю необходимо осознано делегировать наиболее  достойных
кандидатов. Это - наша выборная власть! Это - наша страна! Это - наша жизнь!
</p>
      </td>
  </tr>
</table>'
;
$str="<a href='$1_s.jpg' rel=\"lightbox\" title=''>
<img src='$1.jpg'  width=\"150\" height=\"200\" border=\"1\" align=\"left\" class=\"phpto_album\" />
</a>
"
;
print 
preg_replace("#<img src=\"(.+?)\.jpg\"[^>]+>#is"$str$text);

?>

   
 
 автор: sim5   (11.09.2007 в 10:59)   письмо автору
 
   для: Geo_Li   (11.09.2007 в 10:45)
 

preg_match_all

   
 
 автор: Geo_Li   (11.09.2007 в 10:45)   письмо автору
 
 

Есть код много страниц с HTML кодом. Вот пример



<table width="500" border="1" align="center" cellpadding="0" cellspacing="0" bordercolor="#99FF99">
  <tr>
    <td bgcolor="#CCFFCC">
        <p>&nbsp;</p>
        </td>
  </tr>
  <tr>
    <td bgcolor="#FFFFFF">
Согласно недавним поправкам в законодательство, в этом году из 107 депутатов Мажилиса
 абсолютное большинство избирается по партийным спискам. В выборах примут участие
 семь политических партий, включая Народно-Демократическую партию «Hyp Стан»,
 обладающую парламентским большинством. 
 <p align="justify"><img src="348/3480014.jpg" width="150" height="200" border="1" align="left"> 
Кроме того, каждому избирателю необходимо осознано делегировать наиболее  достойных 
кандидатов. Это - наша выборная власть! Это - наша страна! Это - наша жизнь! 
</p>
      </td>
  </tr>
</table>




нужно в этом коде изменить код всех картинкок (с учетом конечно имени каждой картинки) с


<img src="348/3480014.jpg" width="150" height="200" border="1" align="left">


на следующий


<a href='348/3480014_s.jpg' rel="lightbox" title=''>
<img src='348/3480014.jpg'  width="150" height="200" border="1" align="left" class="phpto_album" />
</a>


сперва реализовал таким образом


//$d  в данном случае, это сам текст страницы, в которой нужно производить изменения;

$enb=-10;
while ($beg=strpos($d, "<img", $enb+10)) {
$enb=strpos($d, ">", $beg+1);
$foto=substr ($d, $beg, $enb);

$bgf=strpos($foto, " src");
$enf=strpos($foto, ".", $bgf);
$foto_n=substr ($foto, $bgf, $enf);
$foto="<a href='archiv/$foto_n.jpg' rel='lightbox' title=''>".$foto;
$foto=str_replace("img src=\"", "img src=\"archiv/", $foto);
$foto.="class='phpto_album' /></a>";

$d=substr ($d, 0, $beg).$foto.substr ($d, $enb);

}


порывшись на форуме нашел preg_match_all, но не могу найти описание создания шаблонов к этой функции.

Подскажите, может у кого есть другие идеи по реализации этой задачки, или хотя бы где можно найти описание всех шаблонов для preg_match_all.
Заранее спасибо.

   

Сообщения:  [1-8] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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