elvenman
4.05.2009 - 17:12
Привет! У меня такая проблемка. Есть текстовый файл под названием 1.тхт, это код html страницы, в этом коде есть заголовки обрамленные тегами, вот так примерно:
, таких заголовков много очень и они все разные. Так вот, я хочу вставить после каждого такого заголовка код с картинкой, мог бы это сделать автозаменой, но ссылка на картинку будет разная, примерно такая:
HTML |
<p><img src="1($i).JPG" width="251" height="186" alt=" "/></p> |
где значение i = будет меняться от 1го и пока не кончится. И еще один маленький нюанс: в тег альт alt=" " я хочу вставлять значение текущего редактируемого заголовка.
Итак в итоге сделан скрипт с вот таким кодом:
PHP |
<?php $content =file_get_contents("1.txt"); preg_match_all ("/(<h1>)(.*)(<\/h1>)/", $content, $massiv); print_r($massiv); $c = count( $massiv); for ($i=1;$i<$c;$i++) { $content = str_replace("$massiv[0][$i]","$massiv[0][$i]\s<p><img src=\"1($i).JPG\" width=\"251\" height=\"186\" alt=\"$massiv[2][$i]\"/></p>",$content"); } file_put_contents ("1.txt","$content"); echo "$content; |
Скрипт
работает, но ничего не меняется, подскажите, ГДЕ ошибка и как её решить. Спасибо большое заранее.
2Джокер - исправлено
Спустя 1 минута, 42 секунды (4.05.2009 - 16:13) Joker написал(а):
Замечание: нарушение правила 2 п.5с "При оформлении сообщения с программным кодом используйте обрамляющие тэги."
Спустя 36 минут, 27 секунд (4.05.2009 - 16:50) twin написал(а):
Зачем столко кавычек то? Сам же в них и запутался. В фигурные скобки обращение к массиву надо. Хотел показать - подсветка тут глючит
Спустя 4 минуты, 3 секунды (4.05.2009 - 16:54) olgatcpip написал(а):
C кавычками не напутал ничего?
PHP |
$content =file_get_contents("1.txt"); preg_match_all ("/(<h1>)(.*)(<\/h1>)/", $content, $massiv); print_r($massiv); $c = count( $massiv); for ($i=1;$i<$c;$i++) { $content = str_replace("$massiv[0][$i]","$massiv[0][$i]\s<p><img src=\"1($i).JPG\" width=\"251\" height=\"186\" alt=\"$massiv[2][$i]\"/></p>",$content тут была кавычка); } file_put_contents ("1.txt","$content"); echo тут была кавычка $content; |
Ну twin пока я писала на всё остальное указал
Спустя 6 минут, 20 секунд (4.05.2009 - 17:00) elvenman написал(а):
убрал кавычки, теперь вот так:
PHP |
$content =file_get_contents("1.txt"); preg_match_all ("/(<h1>)(.*)(<\/h1>)/", $content, $massiv); print_r($massiv); $c = count( $massiv); for ($i=1;$i<$c;$i++) { $content = str_replace("$massiv[0][$i]","$massiv[0][$i]\s<p><img src=\"1($i).JPG\" width=\"251\" height=\"186\" alt=\"$massiv[2][$i]\"/></p>",$content); } file_put_contents ("1.txt","$content"); echo $content; |
Ничего не изменилось - скрипт ошибку не выдает, но заданной задачи не делает, выводит в браузер следущее сообщение (даю исходный код):
HTML |
Array ( [0] => Array ( [0] => <h1>Заголовок1</h1> [1] => <h1>Заголовок2</h1> [2] => <h1>Заголовок3</h1> )
[1] => Array ( [0] => <h1> [1] => <h1>
[2] => <h1> )
[2] => Array ( [0] => Заголовок1 [1] => Заголовок2 [2] => Заголовок3 )
[3] => Array ( [0] => </h1> [1] => </h1> [2] => </h1> )
) <h1>Заголовок1</h1>
<h1>Заголовок2</h1>
<h1>Заголовок3</h1> |
с фигурными скобками не совсем понял в массивах, изменить только это?
или все?
Спустя 13 минут, 52 секунды (4.05.2009 - 17:14) elvenman написал(а):
вставил в указанном месте фигурные скобки, скрипт заработал как надо, но не на ура =( , почему-то делает по три картинки(это страшно) и пропускает(это не страшно) первый заголовок и еще появляется \s, вот исходный код:
HTML |
<h1>Заголовок1</h1>
<h1>Заголовок2</h1>\s<p><img src="1(1).JPG" width="251" height="186" alt="Заголовок2"/></p><p><img src="1(1).JPG" width="251" height="186" alt="Заголовок2"/></p>\s<p><img src="1(1).JPG" width="251" height="186" alt="Заголовок2"/></p>
<h1>Заголовок3</h1>\s<p><img src="1(2).JPG" width="251" height="186" alt="Заголовок3"/></p><p><img src="1(2).JPG" width="251" height="186" alt="Заголовок3"/></p>\s<p><img src="1(2).JPG" width="251" height="186" alt="Заголовок3"/></p>
|
Спустя 3 минуты, 28 секунд (4.05.2009 - 17:17) elvenman написал(а):
уффф, спасибо милые добрые люди, разобрался, всё отлично работает
_____________
Я только учусь, так что не пинайте больно.
- Айк! Пнём малыша!
- Не пинай малыфа...