Master-X
Форум | Новости | Статьи
Главная » Форум » Программинг, Скрипты, Софт, Сервисы » 
Тема: Нужен простенький скрипт
цитата
19/01/08 в 06:33
 violar
Привет всем!

Нужен простой скрипт замены в текстовом файле по маске.

1. Указываем текстовый файл, в котором нужно произвести замену
2. Указываем маску, например: символ*
3. Указываем, на что заменить, например: <b>символ*</b>

В результате все имеющиеся в тексте слова, начинающиеся с символ, выделяются тегами <b></b>:

<b>символы</b>
<b>символов</b>
<b>символами</b>
<b>символу</b>

А если в качестве заменяемого текста (выше пункт 2) указывается символ (без звездочки), то подменяется только слово символ:

<b>символ</b>

Может кто-нибудь помочь?
цитата
19/01/08 в 18:48
 -=Faraon=-
Код:
<?
$input_file=""; // отсюда читаем
$output_file=""; // cюда пишем
$key='символ';
$method=1; // 0 найти только слово целиком 1 все слова содержащие шаблон

$file=file_get_contents($input_file);
$pat="~\b($key)\b~i";
$pat1="/($key\w+)/";

   if (!$method){
   $file=preg_replace($pat,"<b>$1</b>",$file);}
   if ($method){
   $file=preg_replace($pat,"<b>$1</b>",$file);
   $file=preg_replace($pat1,"<b>$1</b>",$file);
   }

$f=fopen($output_file,"w");
fwrite($f,$file);
fclose($f);
?>
цитата
20/01/08 в 20:22
 violar
-=Faraon=- писал:
Код:
<?
$input_file=""; // отсюда читаем
$output_file=""; // cюда пишем
$key='символ';
$method=1; // 0 найти только слово целиком 1 все слова содержащие шаблон

$file=file_get_contents($input_file);
$pat="~\b($key)\b~i";
$pat1="/($key\w+)/";

   if (!$method){
   $file=preg_replace($pat,"<b>$1</b>",$file);}
   if ($method){
   $file=preg_replace($pat,"<b>$1</b>",$file);
   $file=preg_replace($pat1,"<b>$1</b>",$file);
   }

$f=fopen($output_file,"w");
fwrite($f,$file);
fclose($f);
?>


Отлично! Спасибо! Именно то, что мне и нужно. А можно сделать еще так, чтобы указывать не один ($key), а несколько ключевых шаблонов?
цитата
20/01/08 в 20:51
 KpeBeg
violar писал:
Отлично! Спасибо! Именно то, что мне и нужно. А можно сделать еще так, чтобы указывать не один ($key), а несколько ключевых шаблонов?


Код:

<?
$input_file=""; // отсюда читаем
$output_file=""; // cюда пишем
$key=array('символ','символ2');

$method=1; // 0 найти только слово целиком 1 все слова содержащие шаблон

for($i=0;$i<count($key);$i++)
{
$file=file_get_contents($input_file);
$pat="~\b($key[$i])\b~i";
$pat1="/($key[$i]\w+)/";

   if (!$method){
   $file=preg_replace($pat,"<b>$1</b>",$file);}
   if ($method){
   $file=preg_replace($pat,"<b>$1</b>",$file);
   $file=preg_replace($pat1,"<b>$1</b>",$file);
   }
}

$f=fopen($output_file,"w");
fwrite($f,$file);
fclose($f);
?>


Попробуй, сам не проверял, проверить негде.
цитата
22/01/08 в 20:19
 netzoner
http://notepad-plus.sourceforge.net/ru/site.htm
Вот есть хороший редактор, с подсветкой, с регулярками для поиска и замены текста. К тому же фришный.

Если много разных действий надо делать - то имхо удобнее чем скриптом. Если конечно ситуация позволяет.


Эта страница в полной версии