Всем привет, появилась необходимость автоматически закрыть на 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);
Закрыть внешние ссылки в noindex, nofollow и заменить анкор на url (Регулярное выражение)
(Ответов: 1, Просмотров: 612)
- 12.02.2017 09:27
- 22.03.2017 11:25
Ну так и идите по порядку: сначала определяйте, внешняя ли это ссылка, т.е. сравнивайте с адресом домена. Чтобы вытащить адрес домена, берите полную ссылку и бейте её по слешам, забирая все от http:// и до первого слеша после адреса. Затем, если не совпадает, делайте 1 и 2. Анкор также меняется просто: заменяйте alt (или что у вас там). Функции, думаю, нагуглите.
Тэги топика:
Похожие темы
Темы | Раздел | Ответов | Последний пост |
---|---|---|---|
Ссылки 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 |
Закрыть внешние ссылки на сайт | 6 | 31.07.2013 12:19 | |
простановка title регулярное выражение | Web программирование | 7 | 27.03.2012 20:47 |