+ + +
С нами с 12.07.03
Сообщения: 99
Рейтинг: 5
|
Добавлено: 19/01/08 в 06:33 |
Привет всем!
Нужен простой скрипт замены в текстовом файле по маске.
1. Указываем текстовый файл, в котором нужно произвести замену
2. Указываем маску, например: символ*
3. Указываем, на что заменить, например: <b>символ*</b>
В результате все имеющиеся в тексте слова, начинающиеся с символ, выделяются тегами <b></b>:
<b>символы</b>
<b>символов</b>
<b>символами</b>
<b>символу</b>
А если в качестве заменяемого текста (выше пункт 2) указывается символ (без звездочки), то подменяется только слово символ:
<b>символ</b>
Может кто-нибудь помочь?
|
|
|
|
С нами с 19.10.05
Сообщения: 351
Рейтинг: 755
|
Добавлено: 19/01/08 в 18:48 |
Код: | <?
$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);
?> |
|
|
|
|
+ + +
С нами с 12.07.03
Сообщения: 99
Рейтинг: 5
|
Добавлено: 20/01/08 в 20:22 |
-=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), а несколько ключевых шаблонов?
|
|
|
|
С нами с 28.09.07
Сообщения: 214
Рейтинг: 83
|
Добавлено: 20/01/08 в 20:51 |
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);
?> |
Попробуй, сам не проверял, проверить негде.
|
|
|
|
С нами с 03.07.05
Сообщения: 474
Рейтинг: 231
|
Добавлено: 22/01/08 в 20:19 |
http://notepad-plus.sourceforge.net/ru/site.htm
Вот есть хороший редактор, с подсветкой, с регулярками для поиска и замены текста. К тому же фришный.
Если много разных действий надо делать - то имхо удобнее чем скриптом. Если конечно ситуация позволяет.
|
|
PROMO!!! Free Dedicated servers! Send me PM.
Dedicated servers in Europe (DE,NL,RO) and USA from 39$.
|
0
|
|
|
Текстовая реклама в форме ответа Заголовок и до четырех строчек текста Длина текста до 350 символов Купить рекламу в этом месте! |