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

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

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

 

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

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

тема: Замена в теге изображения для строки
 
 автор: pautina   (20.02.2012 в 18:48)   письмо автору
 
 

Здравствуйте не скажете как зделать замену в участке html кода для тега рисунков (нужно для валидации страницы кода)
из
<IMG height=623 src="../images/lessons/les1661/1.jpg" width=450>
нужно получить
<img height="xxx" src="../images/lessons/les1661/1.jpg" width="xxx" />
нужно не трогать src="xxx" а изменить
- <IMG на <img
$newField_3 = str_replace('<IMG', '<img', $str);

- height=623 на height="xxx"
- width=450> на width="xxx" />
вместо xxx может быть любое 1,2,3,4 значное число (здесь наверно лучше использовать регулярное выражение)

для замены использую скрипт
<?php  
 header
('Content-type: text/plain; charset=utf-8');
 
$str '<p align="center"><IMG height=623 src="../images/lessons/les1661/6.jpg" width=450></p>
<p><strong>Шаг 6. </strong>Дублируйте слой несколько раз и 
повторите шаги 4 и 5, чтобы достичь подобного эффекта как 
на скриншоте ниже.</p>
<p><strong><EM>Примечание переводчика:</EM></strong><EM> 
Глядя на предложенный автором скриншот,&nbsp; можно 
догадаться, что к каждой копии он применяет различный цвет 
для опций <strong>Наложение цвета </strong>(Color Overlay) 
и <strong>Внешнего свечения</strong> (Outer Glow).</EM></p>
<p align="center"><IMG height=623 src="../images/lessons/les1661/7.jpg" width=450></p>
<p><strong>Шаг 7. </strong>Теперь мы подчеркнём эффекты 
освещения, добавив больше контраста в определённых местах. 
Добавьте вспышки света, которые можно создать с помощью 
мягкой <strong>кисти</strong> 
<IMG height=16 src="../images/tools/brush.png" width=20>, а также воспользуйтесь опцией 
<strong>Внутреннее свечение</strong> (Inner Glow) в стилях 
слоя на слое.</p>
<p align="center"><IMG height=623 src="../images/lessons/les1661/8.jpg" width=450></p>
<p><strong>Шаг 8. </strong>Создайте корректирующий слой 
<strong>Уровни</strong> (Levels) выше слоя и добавьте к 
нему <strong>обтравочную маску</strong> (Clipping 
mask),нажав комбинацию клавиш 
<strong>Ctrl + Alt + G</strong>. В окне настроек 
корректирующего слоя установите <strong>Выходные значения
</strong> (output) для белого ползунка 150. Используя маску 
этого корректирующего слоя, сотрите определённые области,
 как показано на скриншоте, тем самым освобождая их от 
применённой коррекции. Этот метод позволит придать фигуре 
драматическое освещение и больше контраста.</p>
<p align="center"><IMG height=623 src="../images/lessons/les1661/9.jpg" width=450></p>'
;     
     
$str str_replace('<BR>''<br />'$str);
               
// наш код
 
echo '<pre>';  
 
print_r($str); 
?>

Какие корректировки ещё сделать по заменам?

  Ответить  
 
 автор: ladan   (20.02.2012 в 19:13)   письмо автору
 
   для: pautina   (20.02.2012 в 18:48)
 

а что мешает сразу в текст вставлять изображения: <img height="xxx" src="../images/lessons/les1661/1.jpg" width="xxx" />?

  Ответить  
 
 автор: Sfinks   (20.02.2012 в 19:36)   письмо автору
 
   для: ladan   (20.02.2012 в 19:13)
 

то что страницы копипастяца с другого сайта

  Ответить  
 
 автор: ladan   (20.02.2012 в 19:37)   письмо автору
 
   для: Sfinks   (20.02.2012 в 19:36)
 

))))

  Ответить  
 
 автор: ladan   (20.02.2012 в 19:36)   письмо автору
 
   для: pautina   (20.02.2012 в 18:48)
 


<?
$parent 
= array("/<BR>/","/<IMG height=([0-9]+)(.+)width=([0-9]+)>/");
$replace = array("/<br />/","<img height=\"$1\"$2width=\"$3\" />");

echo 
preg_replace($parent,$replace,$str);
?>

  Ответить  
 
 автор: pautina   (21.02.2012 в 06:11)   письмо автору
 
   для: ladan   (20.02.2012 в 19:36)
 

спасибо большое, всё работает

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

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