- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Маркетинг для шоколадной фабрики. На 34% выше средний чек
Через устранение узких мест
Оксана Мамчуева
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Попросили в ЛС написать регулярное выражение для добавления <noindex> и rel="nofollow" к внешним ссылкам. Может еще кому-то пригодится, может кто-то напишет проще.
Закрыть все ссылки, которые начинаются с http://
Закрыть все ссылки, которые начинаются с http://, кроме кроме http://localhost и http://www.localhost
В аргументе replacement при указании кавычки перед http:// и после ее лучше использовать ссылку на эту кавычку. Плюс в search аргументе нужно использовать маску с выбором "|", примерно так ("|\'|), оставив одно пустое значение, потому что некоторые люди не используют кавычки в href'e.
Полностью написать не могу, с телефона сейчас.
href может быть без кавычек, тут не учтено, как и многое другое, как то например
a href="http://url/param1'param2"
ваш регэксп словит одинарную кавычку, хотя она часть урла
-ну и зря.
1. href м.б. без кавычек, уже сказали
2. ([^<]*) до и после ссылки - галка не в ту сторону, и до текста ссылки лучше +, после < a д.б. пробел
3. в тексте href надо отменить пробелы и > (на случай, если вокруг href кавычек нет)
4. (.*) в тексте ссылки - это жесть! Он зохавает все до конца документа, самого последнего < /a>... :)
мой вар-т (что такое mU не знаю)
euhenio, U - как раз делает рег. выражения жадными и (.*) в href обрабатывается правильно. Насчет отсутствия кавычек, может быть согласен, но считаю что кавычке все же надо ставить.
simka, В адресе не должно быть ни ' = %27 ни " = %22
U - как раз делает рег. выражения жадными и (.*)
-Жадными? они по умолчанию жадные, и при этом как раз захавается весь документ.
euhenio, U - как раз делает рег. выражения жадными и (.*) в href обрабатывается правильно. Насчет отсутствия кавычек, может быть согласен, но считаю что кавычке все же надо ставить.
simka, В адресе не должно быть ни ' = %27 ни " = %22
Ага, не должно. Но на практике все, кто чтото не должен это прощают. Бывают такие случаи, что вообще...
-Жадными? они по умолчанию жадные, и при этом как раз захавается весь документ.
да не жадными (PCRE_UNGREEDY), с U выражение не будет захватывать весь документ
Это я спросил топикастера, и огромное ему спасибо за грамотные советы 🚬
Но у меня обе вышеприведенные конструкции не работают как задумано. В обоих случаях закрываются все ссылки в тексте...
Изначально у меня был код, который вставляет во внешние ссылки rel="nofollow":
Внутренние ссылки он не трогает ☝ (доказано практическим путем).
возьмите код euhenio
'<noindex><a$1href=$2http://$3$2$4 rel="nofollow">$5</a></noindex>', $data);
Изначально у меня был код, который вставляет во внешние ссылки rel="nofollow".
$data = preg_replace("/a href=\"(.+?)\"/","a href=\"\\1\" rel=\"nofollow\"",$data);
Внутренние ссылки он не трогает (доказано практическим путем).
Пробовал, код euhenio тоже применяется ко всем ссылкам... Возможно, особенность при формировании ссылки в движке сайта (Битрикс).
А можно как-то добавить условие для noindex в существующий код?