Свернутый текст
<?php
$fp = fopen( "clans.txt", "w" ) or die ( "Не удалось открыть файл" );
fclose( $fp );
$url = file_get_contents("http://oldbk.com/encicl/klani/clans.php");
if ($url)
{
preg_match("|<li><strong>(.+)</a></strong>|is", $url, $bas);
$bas = strip_tags($bas[1]);
$array = str_replace(" ", ",", $bas);
$dwarf_array = explode(',',$array);
foreach ($dwarf_array as $val) {
$fy = fopen( "clans.txt", "a" ) or die ( "Не удалось открыть файл" );
fputs( $fy, "$val" );
fclose( $fy );
}
} else
echo 'error';
?>
Парсер должен записывать названия кланов в файл, он записывает, но все в одну строчку, а надо чтобы каждый клан записывался новой строкой, подскажите, что нужно поправить.
Спустя 8 минут, 10 секунд (23.10.2011 - 15:28) kovaldm написал(а):
fputs( $fy, $val ."\n");
И вынеси открытие и закрытие файла за пределы цикла, а то у тебя в каждой итерации две лишние операции выполняются.
Спустя 1 минута, 9 секунд (23.10.2011 - 15:29) Winston написал(а):
fputs( $fy, $val . "\n");
Спустя 24 секунды Winston написал(а):
Круто
Спустя 1 минута, 31 секунда (23.10.2011 - 15:31) kovaldm написал(а):
Вот как оно бывает.
Спустя 4 минуты, 18 секунд (23.10.2011 - 15:35) Ska-spy написал(а):
Спасибо, помогло, но теперь еще один вопрос, в конце файла добавляется пустая строка, как этого избежать?
Спустя 57 секунд (23.10.2011 - 15:36) kovaldm написал(а):
Последний элемент массива записывать без "\n".
Спустя 13 минут, 58 секунд (23.10.2011 - 15:50) Winston написал(а):
Свернутый текст
<?php
$fp = fopen( "file.txt", "w" ) or die ( "Не удалось открыть файл" );
fclose( $fp );
$url = file_get_contents("http://oldbk.com/encicl/klani/clans.php");
if ($url)
{
preg_match("|<li><strong>(.+)</a></strong>|is", $url, $bas);
$bas = strip_tags($bas[1]);
$array = str_replace(" ", ",", $bas);
$dwarf_array = explode(',',$array);
$fy = fopen( "file.txt", "a" ) or die ( "Не удалось открыть файл" );
$data = '';
foreach ($dwarf_array as $val) {
if(!next($dwarf_array))
$data .= $val;
else
$data .= $val . "\n";
}
fputs($fy, $data);
fclose($fy);
}
else
echo 'error';
?>