Закрыть внешние ссылки в noindex, nofollow и заменить анкор на url (Регулярное выражение)

(Ответов: 1, Просмотров: 612)
  1. Дипломник Аватар для Человек-откат
    • Регистрация: 06.04.2013
    • Сообщений: 106
    • Репутация: 6
    Всем привет, появилась необходимость автоматически закрыть на PHP внешние ссылки от индексации:
    1. обернуть в noindex
    2. добавить rel=nofollow
    3. заменить анкор на url
    4. замена только для внешних ссылок

    Есть решение как выполнить первые два пунта, но как выполнить 3 и 4?

    PHP код:
     $text=preg_replace('#<a([^>]+?)href\s*=\s*(["\']*)\s*[url]http://([/url][^"\'\s>]+)\s*\\2([^>]*?)>(.*?)</a>#is','<noindex><a$1href=$2http://$3$2$4 rel="nofollow">$5</a></noindex>'$text); 
    • 0
  2. Дипломник Аватар для Nell
    • Регистрация: 12.03.2012
    • Сообщений: 160
    • Репутация: 15
    Ну так и идите по порядку: сначала определяйте, внешняя ли это ссылка, т.е. сравнивайте с адресом домена. Чтобы вытащить адрес домена, берите полную ссылку и бейте её по слешам, забирая все от http:// и до первого слеша после адреса. Затем, если не совпадает, делайте 1 и 2. Анкор также меняется просто: заменяйте alt (или что у вас там). Функции, думаю, нагуглите.
    • 0

Похожие темы

Темы Раздел Ответов Последний пост
Ссылки Noindex nofollow
Вопросы от новичков 8 04.02.2014 11:18
Закрыть в noindex и nofollow главное меню
WordPress 4 06.12.2013 23:36
Как закрыть баннеры в Joomla тегом noindex или nofollow
Joomla 4 04.08.2013 15:39
Закрыть внешние ссылки на сайт
Google 6 31.07.2013 12:19
простановка title регулярное выражение
Web программирование 7 27.03.2012 20:47

У кого попросить инвайт?

Вы можете попросить инвайт у любого модератора:

Информеры