[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сделан скрипт, есть мнение, что все правильно
elvenman
Привет! У меня такая проблемка. Есть текстовый файл под названием 1.тхт, это код html страницы, в этом коде есть заголовки обрамленные тегами, вот так примерно:
HTML
<h1>Заголовок</h1>
, таких заголовков много очень и они все разные. Так вот, я хочу вставить после каждого такого заголовка код с картинкой, мог бы это сделать автозаменой, но ссылка на картинку будет разная, примерно такая:
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 написал(а):
Зачем столко кавычек то? Сам же в них и запутался. В фигурные скобки обращение к массиву надо. Хотел показать - подсветка тут глючит mad.gif
PHP
"{$massiv[2][$i]}"

Спустя 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>


с фигурными скобками не совсем понял в массивах, изменить только это?
PHP
{$massiv[2][$i]}
или все?

Спустя 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 написал(а):
уффф, спасибо милые добрые люди, разобрался, всё отлично работает


_____________
Я только учусь, так что не пинайте больно.
- Айк! Пнём малыша!
- Не пинай малыфа...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.