| |
|
|
| | Здравствуйте !
подскажите, уважаемые !
как запомнить индекс (номер элемента) массива ?
т.е.
при обходе массива
foreach($file as $arr_file)
{
$pattern = "/<fieldset>/i"; // допустим
preg_match($pattern, $arr_file, $out);
// $file[$element] = $out[0]; ? - вот это и есть вопрос
}
|
нужно запомнить его порядковый номер в массиве...
че та не могу сообразить...
спасибо !
ну а если не затруднит ... подскажите еще как вытянуть в массив со страницы ее часть ?
допустим с найденного элемента и еще 10 элементов за ним ...
Спасибо ! | |
| |
|
|
| |
|
|
| |
для: mehelson
(20.12.2006 в 08:16)
| | | 1.То есть вам нужен индекс последнего добавленного элемента?
Судя по тому, что в foreach вы не рассматриваете ключи, массив представляет собой список? Тогда так:
<?php
foreach($file as $arr_file)
{
$pattern = "/<fieldset>/i"; // допустим
preg_match($pattern, $arr_file, $out);
$file[] = $out[0];
$lastIndex = count($file) - 1;
}
?>
|
Или я вас неправильно понял?
2.Нужно использовать регулярные выражения или - если элемент, который вы ищете, известен точно - строковые функции.
Например:
<?php
$element = "A";
$limitAfterElement = 10;
$string = "aaA0123456789aaaaaaaaa";
$needle = substr($string, strpos($string, $element), $limitAfterElement+1);
?>
|
| |
| |
|
|
| |
|
|
| |
для: Shiva
(20.12.2006 в 08:23)
| | | да, видимо недопоняли...чуть...
содержимое страницы в массив (
<?php
$file = file("index.html")
?>
| )
затем при помощи рег.выражения ищем нужный элемент массива (строки страницы)
<?php
foreach($file as $arr_file)
{
$pattern = "/<fieldset>/i";
preg_match($pattern, $arr_file, $out);
?>
|
Вот и вопрос - необходимо изъять в другой масив все строки файла, начиная с найденой
и скажем, еще 10 строк после...
Спасибо ! | |
| |
|
|
| |
|
|
| |
для: Mehelson
(20.12.2006 в 08:37)
| | |
<?php
$flag = 0;
$limit = 10;
$result = array();
foreach($file as $arr_file)
{
if($flag > 0 && $flag < $limit + 1) {
$result[] = $arr_file;
$flag++;
continue;
} elseif($flag == $limit + 1)
break;
$pattern = "/<fieldset>/i";
preg_match($pattern, $arr_file, $out);
if($arr_file[0]) {
$result[] = $arr_file;
$flag = 1;
}
}
|
| |
| |
|
|
| |
|
|
| |
для: Shiva
(20.12.2006 в 09:00)
| | | в общем то все ясно и логично...
только как просмотреть получившийся массив ? ;) | |
| |
|
|
| |
|
|
| |
для: mehelson
(20.12.2006 в 10:41)
| | | В смысле? Смотря, что вы имеете в виду, говоря "просмотреть"? | |
| |
|
|
| |
|
|
| |
для: Shiva
(20.12.2006 в 10:51)
| | | в смысле хочу посмотреть получившийся массив... какой тут еще может быть смысл ?
как в браузер его вывести ? не получаеца нужный результат... | |
| |
|
|
| |
|
|
| |
для: Mehelson
(20.12.2006 в 11:01)
| | | например
print_r($result);
или
echo implode("\n", $result");
Просмотреть массив и вывести - разные вещи, когда речь идет о программировании. | |
| |
|
|
| |
|
|
| |
для: Shiva
(20.12.2006 в 09:00)
| | | и всё ? больше никто ничего не скажет... ? | |
| |
|
|
| |
|
|
| |
для: mehelson
(20.12.2006 в 08:16)
| | | На всякий случай:
само получение кода со страницы можно организовать функцией file_get_contents() | |
| |
|
|
| |
|
|
| |
для: Shiva
(20.12.2006 в 08:33)
| | | Ну кто-нибудь все-таки подскажет как сохранить в переменную номер элемента массива? Спасибо! | |
| |
|
|
| |
|
|
| |
для: Shiva
(20.12.2006 в 08:33)
| | | Ну кто-нибудь все-таки подскажет как сохранить в переменную номер элемента массива? Спасибо! | |
| |
|
|
| |
|
|
| |
для: mehelson
(20.12.2006 в 08:16)
| | |
<?
foreach ( $file as $key => $arr_file ) {
$pattern = "/<fieldset>/i"; // допустим
if ( preg_match($pattern, $arr_file, $out) )
print "Совпадение найдено в строке №".$key."<br/>";
}
|
| |
| |
|
|
| |
|
|
| |
для: Саня
(20.12.2006 в 19:52)
| | | Огромное Вам мерси !
Всё что требовалось !
Без лишних слов...
Спасибо, закрыли тему ! | |
| |
|
|
| |
|
|
| |
для: mehelson
(21.12.2006 в 04:19)
| | |
<?
foreach ( $file as $key => $arr_file ) {
$pattern = "/<fieldset>/i";
if ( preg_match($pattern, $arr_file, $out) ) {
print "Совпадение найдено в строке №".$key."<br/>";
$slice = array_slice($file, $key, 11); // <---- тут
print_r($slice);
}
}
| Вот вам десятка строк после найденной. | |
| |
|
|
| |
|
|
| |
для: Саня
(21.12.2006 в 15:10)
| | | Еще раз спасибо! | |
| |
|
|