Подскажите с помощью каких функций написать скрипт по вытаскиванию инфы из ТХТ

Dikki

Новичок
Подскажите с помощью каких функций написать скрипт по вытаскиванию инфы из ТХТ

Задача:
Есть ban.txt---------
<a href="http://cop.ru"><img src="img/cop.jpg" alt="police" border="0"></a>
<a href="http://prof.ru"><img src="img/spec.gif" alt="deni" border="0"></a>
... и так далее

1.php
нужно из этого файла выташить и разместить в таблицу
| http://cop.ru | cop.jpg | police
| http://prof.ru | spec.gif | deni
и разместить справа или слева галочку которую можно снимать и ставить, и если галочку снять, то строка переместится в файл banOf.txt

Буду рад любому конструктивному совету.
 

20066temp

Новичок
вот както так
PHP:
<?php

header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Date in the past

$data['ban'] = file('ban.txt');
$data['banOf'] = file('banOf.txt');

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$f1 = fopen('ban.txt', 'w');
$f2 = fopen('banOf.txt', 'w');
foreach ($data['ban'] as $k => $v) {
$v = trim($v);
if (isset($_POST['ban' . $k])) {
fwrite($f2, $v . "\r\n");
} else {
fwrite($f1, $v . "\r\n");
}
}
foreach ($data['banOf'] as $k => $v) {
$v = trim($v);
if (isset($_POST['banOf' . $k])) {
fwrite($f1, $v . "\r\n");
} else {
fwrite($f2, $v . "\r\n");
}
}
fclose($f1);
fclose($f2);
header("Location: " . $_SERVER["PHP_SELF"]);
exit;
}


echo '<form method="POST">';

foreach ($data as $fn =>$data2) {
echo 'file:' . $fn;
echo '<table border=1>';
foreach ($data2 as $k => $v) {
echo '<tr>';
$v = trim($v);
preg_match('~href="([^"]+)"~i', $v, $matches_href);
preg_match('~src="([^"]+)"~i', $v, $matches_src);
preg_match('~alt="([^"]+)"~i', $v, $matches_alt);
echo '<td><input type=checkbox name="' . $fn . $k . '" value="' . $k . '"></td>';
echo '<td>' . $matches_href[1] . '</td>';
echo '<td>' . $matches_src[1] . '</td>';
echo '<td>' . $matches_alt[1] . '</td>';
echo '</tr>';
}
echo '</table>';
}

echo '<input type=submit>';
echo '</form>';

?>
 

phprus

Moderator
Команда форума
20066temp
Этот код делает совсем не то, что надо Dikki.
Надо использовать не 3 регулярки а одну.
Dikki
PHP:
$str = '<a href="http://prof.ru"><img src="img/spec.gif" alt="deni" border="0"></a>';
$arr = array();
preg_match_all('/<a href="(.*?)"><img src="img/(.*?\.gif)" alt="(.*?)" border="0"></a>/', $str, $arr);
print_r($arr);
Вот это более вероятно делает то, что тебе нужно.

Сразу предупреждаю. что код не тестировал, так что в регулярном выражении может немного не верным.
 
Сверху