DLE: "Поиск и замена" части кода

DeL Esprit
На сайте с 27.01.2010
Offline
223
2267

Есть проблема - нужно вокруг кода аттача файла вставить еще дополнительный код.

Исходный код:

[attachment=9999]
,
[attachment=9998]
и т.д.

Нужно, например:

<br>[attachment=9999]<br>
,
<br>[attachment=9998]<br>
и т.д.

всего фрагментов кода много - везде разные числа, и наче бы заменить легко было )

Вот уже не первый час ищу решение проблемы - не получается ничего (

Просто "Поиск и замена" - возможно в нём сделать регулярное выражение какое-то?

Я в регулярках не силён (((

Или кто может на пхп регулярку напишет )

спсб

Тестирую облачный майнинг - узнаем развод или нет. - окупаемость 3 месяца? мелкие суммы (https://goo.gl/aPWmoj) | майнинг Monero, минимум $830 (https://goo.gl/3XivbP) Биржи (ввод/вывод) - на Приват (https://goo.gl/CGZTnD), на Payeer, Capitalist, Advcash, Qiwi... (https://goo.gl/eejAgs)
Q
На сайте с 01.04.2006
Online
143
#1

Есть такая програмка. Делает замену в файлах массово т.е. у папки всей. Пытался всппомнить как называется и на диске искал. Сори, не нашел.

querty добавил 02.12.2010 в 13:15

Попробуй "html optimizer" кажется это она. В ней есть такая функция массовый поиск и замена.

Rusllan
На сайте с 21.08.2008
Offline
61
#2

Notepad++ должен справиться с данной задачей. Для этого файлы сайта надо скачать на компьютер, а потом воспользоваться поиском в файлах.

Домены по низким ценам (http://regunn.ru)
DeL Esprit
На сайте с 27.01.2010
Offline
223
#3
Rusllan:
Notepad++ должен справиться с данной задачей. Для этого файлы сайта надо скачать на компьютер, а потом воспользоваться поиском в файлах.

я плохо описал проблему -

всего фрагментов кода много - везде разные числа....

[attachment=9999], [attachment=9998], [attachment=9997] и т.д.

siv1987
На сайте с 02.04.2009
Offline
427
#4

Нет там регулярных выражений.

Напишите скрипт который пробежит по всей базе (или notepad++) и заменит нужные слова .

а регулярка что типа такого:

поиск (\[attachment=\d+\])

замена <br>\\1<br>

DeL Esprit
На сайте с 27.01.2010
Offline
223
#5
siv1987:
Нет там регулярных выражений.
Напишите скрипт который пробежит по всей базе (или notepad++) и заменит нужные слова .

а регулярка что типа такого:
поиск (\[attachment=\d+\])
замена <br>\\1<br>

вот я и немогу написать скрипт с регуляркой ( - непонимаю я их. прочитал уже вкратче - всеравно не выходит.

делаю что-то типа такого в пхп:

$text="[attachment=9999]";

$shablon="\[attachment=\d+\]";
preg_match ($shablon, $text, $newtext);

echo $newtext;

Результат:

"Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in Z:\home\test1.ru\ on line 4"

и так не работает:

$text="[attachment=9999]";
preg_match ("/\[attachment=\D/", $text, $newtext);
echo $newtext[0];

немогу понять что не так...

siv1987
На сайте с 02.04.2009
Offline
427
#6

Замена делается через preg_replace.

$str = preg_replace("#(\[attachmets=\d+\])#", "<br>\\1<br>", $str);

DeL Esprit
На сайте с 27.01.2010
Offline
223
#7
siv1987:
Замена делается через preg_replace.

$str = preg_replace("#(\[attachmets=\d+\])#", "<br>\\1<br>", $str);

$str="[attachment=9999]";
$str = preg_replace("#(\[attachmets=\d+\])#", "<hr>\\1<hr>", $str);
echo $str;

выдает просто [attachment=9999]

Апд.:

понял - ошибка в "

$str="[attachment=9999]";
$str = preg_replace("#(\[attachmets=\d+\])#", "<hr>\\1<hr>", $str);
echo $str;
"

Спсб, siv1987!

siv1987
На сайте с 02.04.2009
Offline
427
#8

Обратите внимания что у меня там написано attachmets а у вас attachment.

[Удален]
#9

Вообще-то Rusllan правильно отметил насчёт Notepad++`а.

Для решении Вашей задачи нажимаем CTRL+F и заполняем следующие поля:

Find what:	\[attachment=([0-9]+)\]
Replace with: <br />[attachment=\1]<br />
Search mode: regular expr.

Нажимаем кнопку «Replace in files». Вот и всё.

DeL Esprit
На сайте с 27.01.2010
Offline
223
#10
w0den:
Вообще-то Rusllan правильно отметил насчёт Notepad++`а.
Для решении Вашей задачи нажимаем CTRL+F и заполняем следующие поля:
Find what:	\[attachment=([0-9]+)\]

Replace with: <br />[attachment=\1]<br />
Search mode: regular expr.


Нажимаем кнопку «Replace in files». Вот и всё.

спсб - я несилен в регулярках - да и способ на пхп мне удобнее.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий