ТЕХПОДДЕРЖКА САЙТОВ
Полезные советы для обслуживания веб сайта и работы с ним
Как сделать замену на сотнях страниц сайта, если заменяемые куски находятся в одном месте, но отличаются (например удалить с сайта все цены?)
Во всеми любимом инструменте разработчиков Dreamweaver (как и в других редакторах) есть инструмент "Найти заменить" - можно использовать именно его... НО КАК?
Для замены части кода, в котором есть различия используют "регулярное выражение". Регулярное выражение - это такая строчка в поиске, где есть не только конкретные символы, но и метасимволы - они означают, что нужно искать, например, любую цифру в данном месте, любую букву, границу слова, или начало строки, табуляцию и т.д. Список спецсимволов можно посмотреть напр. тут: http://www.sreda.ws/s2/s2-5.htm или где угодно в интернете.
Проблема заключается в том, как написать внутри строки эти спецсимволы, чтобы редактор Homesite или Dreamweaver не принял их за часть самой строки? Там же могут быть и теги, и звездочки, и всякие скобки - как же писать спецсимволы, если они выглядят точно так же как то, что мы ищем? Например спецсимвол "точка" - . я не могла понять, как же можно писать точку, если в моем предложении, которое я ищу и так есть точка?
Ответ очень прост, и после этого можно легко писать любые регулярные выражения: если у вас в строке есть символ, который совпадает со спецсимволом, то перед ним надо поставить \
Все остальные символы - просто пишем как обычно, а в нужном месте ставим оператор, который требуется. Вот и все.
Вместо 1435 может быть любая цена (от пробела или 0 до, скажем, 10 000).
Мы знаем, что точка на языке рег. выражений - любой символ. Поэтому вместо цифр ставим четыре точки. А после "руб" надо, чтобы была точка, поэтому ставим \. Скобки - это тоже спецсимволы, поэтому чтобы сохранить их - ставим перед ними тоже \
Получается:
А что делать, если там в цене будет 5 цифр? Или одна?
Есть такая функция {m,n} - предыдущий символ может встретиться от m до n раз.
В нашем случае - любая цифра может встретиться от 0 до 5 раз например. Если 0 - то цена не указана, если 5 - то цена типа 12550. Еще могут быть пробелы 12 550. Пишем: .{0,6} - означает "любой символ может встретиться от 0 до 6 раз" 6 потому, что люди часто ставят пробелы внутри цены для удобства.
Получается:
Чтобы еще упростить поиск, можно вообще оставить только первое слово строки "Цена" и последнее слово "(руб.)"
То, что между ними, можно искать с пом. регулярных выражений таким же способом, просто символов будет не 6 а немного больше. Возьмем к примеру 20. Пробелы тоже учитываются.
Получается:
Екатерина,
веб-мастер лаборатории СЕОмакс
Статьи и новости
Полезные советы для обслуживания веб сайта
Статьи об оптимизации сайтов
по электронной почте
seo@seomax.ru
Вы можете обратиться по Whats App +7(926)226-32-38