Поиск по сайту ссылок без параметра "Target" (16.03.2013). Печать
2013 - Март
16.03.2013 10:24
Save & Share

Вы обратили внимание на то, что все ссылки на этом сайте открываются в новом окне? Согласен, что нашем мире, мире господства спама, открытие ссылки в новом окне считается не очень хорошим тоном (и пользователь, пока загружается контент, нервно думает, что там выпрыгнуть очередные голые ноги или машина). Но я выбрал эту политику исходя из целей удобства: ссылка открывается в новом окне, пользователь оценил информацию в ней, закрыл - и вернулся к моему сайту. Прошло время, и я понял человеческий фактор: я мог забыть поставить на какие-то ссылки "target="_blank".

Вручную перебирать все ссылки и проверять их свойства мне очень не хотелось. Поэтому был изобретен универсальный способ:
- требования: наличие Notepad++, дампа базы MySQL сайта;
- открываем базу в Notepad++, выбираем "поиск" и вводим "<a(?:[^>](?!(target)=))*+>" с условием "регулярное выражение";
- результатом поиска по базе CMS Joomla будут записи, начинающиеся с названия статьи, результатом поиска по базе WordPress - дата создания материала и его начало (не заголовок). В начале списка будет куча ненужных ссылок типа "_transient_feed" или "_transient_ngg_related_plugins", ценные записи - именно в конце этого списка;
- исправляете ссылки вручную.

Есть автоматический способ, но непроверенный: в "найти" пишется "(<a(?:[^>](?!(target)=))*+)>", а в "заменить" - " \1 target="_blank">".

Обновлено ( 16.03.2013 14:08 )