|
|
|
| Вот у меня файл формат которого
1 ;№ОЛОДЛ
2 ля;№*)
3 дядядя
...
2004 gd;lfglfgl
|
т е сначала идёт номер строки а дальше через пробел сама строка...
кто нибудь может написать скрипт для удаления номеров строк...? | |
|
|
|
|
|
|
|
для: Logree
(17.11.2008 в 13:30)
| | Кто нибудь наверное может...
Всех номеров, выборочно номеров или строк под нужными номерми? | |
|
|
|
|
|
|
|
для: Николай2357
(17.11.2008 в 16:32)
| | Ответа я не дождался, получайте все три варианта.
<?php
//
$a = isset($_POST['a'])?$_POST['a']:@file("text.txt");
if($_POST['b'])
@file_put_contents("text.txt",$a);
if($_POST['c'])
{
$a = null;
$mas = file("text.txt");
for($i=0;$i < count($mas);$i++)
{
if(!@in_array(($i+1),$_POST['delet']))
$a .= $mas[$i];
}
@file_put_contents("text.txt",$a);
}
if($_POST['d'])
{
$a = null;
$mas = file("text.txt");
for($i=0;$i < count($mas);$i++)
{
if(@in_array(($i+1),$_POST['delet'])||$_POST['delet_num'])
$a .= preg_replace("#(\d+?)\s(.*)#i","$2",$mas[$i]);
else
$a .= $mas[$i];
}
@file_put_contents("text.txt",$a);
}
if($a)
{
$mas = file("text.txt");
for($i=0;$i < count($mas);$i++)
{
$input = "<br>
<input name='delet[".($i+1)."]' value='".($i+1)."' type='checkbox'/>".$mas[$i]."\n\r";
$text_edit .= $input;
$input = null;
}
}
?>
<form action="?" method="post">
<?
if($text_edit)
echo $text_edit."<br>
<input name='c' type='submit' value='Удалить строки' />
<br><input name='d' type='submit' value='Удалить номера' />(Все)<input name='delet_num' type='checkbox'/>
</form>";
else
echo
"<textarea name='a' cols='30' rows='10'>
</textarea>
<input name='b' type='submit' value='Записать в файл' />
</form>"
?>
|
| |
|
|
|
|
|
|
|
для: Николай2357
(17.11.2008 в 19:57)
| | / | |
|
|
|
|
|
|
|
для: Logree
(17.11.2008 в 13:30)
| | >т е сначала идёт номер строки а дальше через пробел сама строка...
Если надо удалить только номера.
<?php
$text=file_get_contents("text.txt");
$out=preg_replace("#\d+\s#s", "",$text);
print $out;
?>
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(17.11.2008 в 21:18)
| | Это удалит только номера вначале строки, или вообще все номера в файле?
Да и ктому же помоему автору надо сохранить порядок строк, а ваш код всё в одну строку сгребает.
З.Ы. проверил... удаляет все
З.Ы. у Николая та же проблема... удаляются не только номера строк, но и все номера в строке
двойки обоим)) | |
|
|
|
|
|
|
|
для: Valick
(17.11.2008 в 21:33)
| | >Да и ктому же помоему автору надо сохранить порядок строк
А вот если автор это напишет, то тогда и посмотрим.
P.S. Не люблю, а как может быть. Написано конкретно, а догадываться как может быть или, как автор хочет лицезреть результат, не собираюсь. Я не экстрасенс. :)
>З.Ы. проверил... удаляет все
Каков пример, таков ответ. Или надо опять догадываться, что может быть, а чего не может. :) | |
|
|
|
|
|
|
|
для: AcidTrash
(17.11.2008 в 22:04)
| | ну до экстрасенса мне тоже далеко, но то что строка начинается с цифры (номер), а далее в ней может быть всё что угодно... необходимо учитывать. | |
|
|
|
|
|
|
|
для: AcidTrash
(17.11.2008 в 22:04)
| | Или надо опять догадываться
кто нибудь может написать скрипт для удаления номеров строк...?
А что тут догадываться?)) | |
|
|
|
|
|
|
|
для: Valick
(17.11.2008 в 22:12)
| | Хорошо, добавим модификатор m и ^, устраивает?
$out=preg_replace("#^\d+\s#sm", "",$text);
|
| |
|
|
|
|
|
|
|
для: AcidTrash
(17.11.2008 в 22:19)
| | Понятия не имею.. я ещё не приступал к изучению рег выражений) | |
|
|
|
|
|
|
|
для: Valick
(17.11.2008 в 22:24)
| | >двойки обоим))
будем стараться, сенсей! :)))))) C модификатором m работает, я проверил. | |
|
|
|
|
|
|
|
для: Николай2357
(17.11.2008 в 22:52)
| | не ошибается только ток кто ничего не делает))
вы верно сказали: в муках рождается истина... :))
а "сомнения укрепляют города")) | |
|
|
|
|
|
|
|
для: Valick
(17.11.2008 в 23:04)
| | >не ошибается только ток
Это точно, как ток ампер 100 вставит, точно не ошибётся :)
>двойки обоим))
Очень опрометчивое высказывание. | |
|
|
|
|
|
|
|
для: AcidTrash
(18.11.2008 в 21:29)
| | Спасибо всем кто откликнулся :) | |
|
|
|