|
|
|
| *********************
Содержимое text.txt
egy e te et ww w">8.0923</td> dheh dg6.6333
*********************
********************
Обработчик
$file_array = file("text.txt");
if(!$file_array)
{
echo("Error");
}
else
{
for($i=0; $i < count($file_array); $i++)
{
preg_match_all('/.*">[6-9]{1}\.+[0-9]{4}<\/td>/', $file_array[$i], $ok);
}
}
Проблема следующая-Как извлечь из массива $ok
по отдельности
все найденные совподения и присвоить им разные переменные?
Делаю так: echo $[0][0]-выводит все найденные совпадения на одну строку-Не подходит | |
|
|
|
|
|
|
|
для: oli
(31.05.2008 в 13:13)
| | Выполните код и станет ясно:
<?
echo '<pre>';
print_r($ok );
echo '</pre>';
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(01.06.2008 в 01:03)
| | >Выполните код и станет ясно:
>
><?
>echo '<pre>';
>print_r($ok );
>echo '</pre>';
>?>
|
Так я пробовал-выводит вот такую бесконечную хрень:
Array
(
[0] => Array
(
)
)
Array
(
[0] => Array
(
)
)
Array
(
[0] => Array
(
)
)
...................
Если сделать так
echo"<pre>";
print_r($ok[0] [0]);
echo"</pre>";
выводит то что нужно а именно все совпадения-Вот теперь надо эти совпадения присвоить разным переменным.
Предлагайте идеи... | |
|
|
|
|
|
|
|
для: OLi
(01.06.2008 в 17:14)
| | Может кто предложит свой скрипт выполняющий такую же функцию c использованием этого регул выражения
('/.*">[6-9]{1}\.+[0-9]{4}<\/td>/')
|
| |
|
|
|
|
|
|
|
для: OLi
(01.06.2008 в 17:25)
| | Делаю так:
<?
$file_array = file_get_contents("http://a");
if(!$file_array)
{
echo("Error");
}
else
{
preg_match_all('/.*">[6-9]{1}\.+[0-9]{4}<\/td>/', $file_array, $ok);
print_r($ok);
}
?>
|
Выводит
Array ( [0] => Array ( [0] => 8.4980 [1] => 8.4980 [2] => 8.4700 [3] => 8.5200 [4] => 8.4900 [5] => 8.6700 ) ) | |
|
|
|
|
|
|
|
для: oli
(31.05.2008 в 13:13)
| | Давайте тогда по-другому. Что вы хотите распарсить при помощи этого выражения?
Пример пожалуйста дайте. | |
|
|
|
|
|
|
|
для: mihdan
(02.06.2008 в 11:03)
| | Все я нашел способ выдирания из массива совпадений. А парсить надо цифры с одной страницы.
Проблема в другом теперь я извлекаю из массива строку в которой есть совпадения
<td width="50" align="right" class="change1">8.4980</td></td>
|
А мне надо извлечь только
Как такое реализовать?
Возможно надо поправить мое рег выражение | |
|
|
|
|
|
|
|
для: OLi
(02.06.2008 в 12:55)
| | Вот паттерн:
<?
$pattern = '|<td[^>]+>([^<]+)<\/td><\/td>|si';
?>
|
| |
|
|
|
|
|
|
|
для: mihdan
(02.06.2008 в 14:05)
| | Что-то не понял-это рег выр применить к уже полученной строке т-е фильтровать пока не получу число? | |
|
|
|
|
|
|
|
для: OLi
(02.06.2008 в 14:21)
| | Это выражение для вытягивания данных из файла
<?
$fp = file_get_contents('file.txt');
$pattern = '|<td[^>]+>([^<]+)<\/td><\/td>|si';
preg_match_all($pattern, $fp, $matchs);
echo '<pre>';
print_r($matchs);
echo '</pre>';
?>
|
| |
|
|
|