Forum Webscript.Ru
Программирование => PHP => Тема начата: kiska от 10 Июля 2002, 12:22:46
-
Подскажите пожалуйста как сделать копирование участка текста между определенными тегами из htm файла. Когда я запускаю свою функцию, то она находит их только когда они расположены в одной строке, как это исправить?
function poisk()
{
$date=date("md");
$qw=fopen(/art/$date.htm","r");
$data=file("/art/$date.htm");
$data1=preg_grep("%(.*)%si",$data);
if(!$data1)
echo "Тег не найден";
else
echo "Тег найден, текст: $data1[1]";
}:eek:
-
Надо так:
function poisk()
{
$date=date("md");
$qw=fopen(/art/$date.htm","r");
$data=fread($qw, filesize("/art/$date.htm"));
preg_match("!(.*?)!si", $data, $ok);
if(count($ok)>1) foreach($ok => $v) echo $v."
";
-
Большое спасибо, я его немного подправило и теперь все работает!
-
Еще один вопрос:
почему , когда я потом заношу найденное значение в файл там оказывается два одинаковых фрагмента текста?
-
kiska
Из Мануала($matches в твоём случае это $ok):
If matches is provided, then it is filled with the results of search. $matches[0] will contain the text that matched the full pattern, $matches[1] will have the text that matched the first captured parenthesized subpattern, and so on.
-
Спасибо за помощь.