Уважаемые формучане помогите пожалуйста реализовать вот какую вещь! Есть 50 автоматически генерирующихся страниц на php,часть текста страницы взята в тег, на каждой странице есть ссылка на форму. При переходе к старанице формы текст из тегов должен появиться на странице с формой! Примерно так... Если {пришел от (http://www.mu.ru/item.php?itemid=2)то вставить на сюда текст из тегов страницы http://www.mu.ru/item.php?itemid=2 Изменять сами сттраницы нельзя, этот скрипт должен быть на странице где генерица форма! Подскажет пожалуйста кто чем может))) Заранее спасибо!
Текст виз тега с одной страницы надо перебросить на другую страницу! Редактировать можно только конечную страницу! Тобишьконечная страница должна понимать откуда к ней пришли и брать тег с той страницы с которй пришли)) Во как)) Прям как ребус какойто))
$_SERVER["HTTP_REFERER"] - в скрипте твоем адрес откуда пришли. file_get_content берешь страничку, парсишь ее (на вскидку - "взрываешь" сначала по началу нужного тэга, а потом по закрывающемуся нужному тэгу).
Ты знаешь с какой странички пришел. Что тебе мешает на страничке с формой достать информацию странички с которой ты пришел к форме (например, с базы, или где она там хранится)
Я бы с привеликим удовольствием это сделал бы, но пока мои знания на уровне...ну вообщем на низком! Подскажите что такое парсить и как это делается и взрывать по тегам...)
PHP: <?php $page = file_get_contents($_SERVER["HTTP_REFERER"] ); preg_match_all('/<метка>(.*)<\/метка>/Usi', $page, $elements); print_r($elements); ?> * не тестировал. Только такое решение - гавно, пляска с бубном, даже не буду объяснять почему. Нет задачи, где нельзя обойтись без пляски, подумай хорошо, посмотри код с самого начала и найди то место, где ты накуралесил так, что в конце получилось гавно. Проблема закралась даже не в коде, а в проектировании способа реализации задачи.
PHP: <?php // получаем в переменную $page содержимое страницы откуда пршли $cntent = file_get_contents($_SERVER["HTTP_REFERER"] ); // explode - взрывать $parts = explode("<тэг начала нужного блока>", $content); // теперь в массиве $part[0] код страницы от начала до тэга (или конца документа), в $part[1] либо до следующего тэга // (тогда есть еще $part[2] и т.д.) либо до конца if ( !empty($part[1]) ) { // нужный блок на странице есть $block = explode("<закрывающийся тэг нужного блока>", $part[1]); $block = ( isset($block[0]) ) ? $block[0] : 'Нет инфомации на странице'; } else { // нужного тэга (и блока) на странице нет } // в $block имеем нужный блок информации $html = '<textarea>'.$block.'</textarea>'; ?> код не для получения блоков, код для описании процесса. а эти 50 страниц чей код генерирует и на чьих сайтах? Может проще этот блок текста брать оттуда, откуда он попадает на те страницы? Это иногда и проще и удобнее и быстрее чем выдирать контент со страниц. Но если 50 страниц - это 50 неких устройств с веб-мордой, то конечно, если там СНМП нет то только так.
Fduch, кажись, очепатка: не: PHP: $parts = explode("<тэг начала нужного блока>", $content); а: PHP: $part = explode("<тэг начала нужного блока>", $content); P.S.: если PHP: начало страницы <тэг>текст</тэг> конец страницы то разбить страничку можно разделителем "тэг>". Получится: PHP: $part[0] = "начало страницы <"; $part[1] = "текст</"; $part[2] = " конец страницы";
Спасибо вам большое товарищи! Очень помогли! Я сделал это вот так PHP: <?php if ($_SERVER["HTTP_REFERER"] == 'http://item.php?itemid=2'); {$page = file_get_contents ('http://litem.php?itemid=2'); preg_match_all('/<div id=\'1\'>(.*)<\/div>/Usi', $page, $elements); echo($elements[0][0]); } ?> Все эти 50 страниц генерирую я, но текст который в них генерится у меня находится в базе данных, а выдрать мне надо только часть поэтому и приходится использовать вот такой вот метод! А можно как нибудь сделать так, чтобы не писать конкретно с какой страницы пришел PHP: if ($_SERVER["HTTP_REFERER"] == 'http://item.php?itemid=2'); так как у меня меняется только PHP: itemid=2 тоесть цифра, а написать как нибудь так PHP: if ($_SERVER["HTTP_REFERER"] == 'http://item.php?itemid=тут какая то переменная или еще что то ) '); И тогда получилось бы что если я пришел отсюда http://item.php?itemid= то PHP: $page = file_get_contents ('http://litem.php?itemid=?') делат все для этой переменной! Как то так вообщем! Вкратце говоря чтобы небыло конкретной привязки к ID а была динамика! Во как)
programer ага, опечатка Согласен. Я просто хотел показать как explode() пользоваться. А от "хвоста" в $part[1] все равно избавляться как-то надо