Сделано так,
<?php
$file = file("names.txt");
$search = "test fgd5";
$j = 0;
$put = '';
$i = 0;
$k = 0;
foreach($file as $v){
if(trim($v) == trim($search)) {
$k = $i++;
$j = $k + 5;//количество строк после искомого слова
}
$i++;
}
while($k < $j) {
echo $file[$k];
$sdfsdsd = $file[$k];
$sdfsdsd = str_replace(' ', '-', $sdfsdsd);
$sdfsdsd = str_replace('
', '', $sdfsdsd);
$sdddfsdsd = $file[$k];
$sdddfsdsd = str_replace('
', '', $sdddfsdsd);
$put .= "<a href=\"/".$sdfsdsd."\">".$sdddfsdsd."</a>\n";//заменил $str_new на $file
$k++;
}
$bl = $search;
$bl = str_replace(' ', '-', $bl);
file_put_contents($bl.'.txt', $put);
?>
Единственный минус, но все работает как надо
Содержимое файла names.txt
sdf sdfsd1
test2
sdfsdf sgdf3
sdgdgdfg dgdfgdf4
test fgd5
testdfg dgdfgdf6
dgdfgdf7
Если указать строку поиска test fgd5
То выведет так:
<a href="/test+fgd5">test fgd5</a>
<a href="/testdfg+dgdfgdf6">testdfg dgdfgdf6</a>
<a href="/dgdfgdf7">dgdfgdf7</a>
<a href="/"></a>
<a href="/"></a>
То есть если строки кончаются, то не достающие строки должно брать с самого начала.. То есть с перовой строки
Вот так:
<a href="/test+fgd5">test fgd5</a>
<a href="/testdfg+dgdfgdf6">testdfg dgdfgdf6</a>
<a href="/dgdfgdf7">dgdfgdf7</a>
<a href="/sdf+sdfsd1">sdf sdfsd1</a>
<a href="/test2">test2</a>