Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавление в тэг <a href NOFOLLOW и NOINDEX, Может у кого есть готовое решение 
V
    Опции темы
tolik777
Дата 25.1.2008, 14:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 19.6.2006

Репутация: нет
Всего: 2



В БД есть HTML-текст.
Мне необходимо взять из БД текст и перед выводом в тэг A добавить доп. значения.
К примеру было:
<a href="http://yandex.ru" target="_blank" {....другие свйоства ссылки...} >Перейти</a>
А мне нужно чтобы получилось так:
<NOINDEX><a href="http://yandex.ru" target="_blank" {....другие свйоства ссылки...}  rel="nofollow">Перейти</a></NOINDEX>

Может у кого есть готовое решение?
Заранее спасибо.
PM MAIL WWW ICQ   Вверх
flashaa
Дата 25.1.2008, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 2
Всего: 25



Вообще по идее это решается вот так:
Код

$str = str_ireplace('<a', '<a rel=nofollow ', $str);

PM MAIL   Вверх
bars80080
Дата 25.1.2008, 14:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



Код

$a = '<a href="http://yandex.ru" target="_blank" {....другие свйоства ссылки...} >Перейти</a>';
$b = explode('>', $a);
$b[0] .= '  rel="nofollow"';
$a = '<NOINDEX>'.implode('>', $b).'</NOINDEX>';


идея такая

дас, а Флаша попроще будет

Это сообщение отредактировал(а) bars80080 - 25.1.2008, 15:00
PM MAIL WWW   Вверх
tolik777
Дата 25.1.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 19.6.2006

Репутация: нет
Всего: 2



Да, но кроме ссылки может быть куча других HTML тэгов и ссылка то не одна может быть. Тогда приведенный выше код не сработает. А в коде от flashaa нет NOINDEX.
PM MAIL WWW ICQ   Вверх
bars80080
Дата 25.1.2008, 15:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



по задаче и решение, ты не указал, что у тебя есть другой техт, но пример Флаши как раз подойдёт
Код

$str = str_ireplace('<a', '<NOINDEX><a rel="nofollow" ', $str);
$str = str_ireplace('</a>', '</a></NOINDEX>', $str);


Это сообщение отредактировал(а) bars80080 - 25.1.2008, 15:54
PM MAIL WWW   Вверх
flashaa
Дата 25.1.2008, 16:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 796
Регистрация: 7.3.2006

Репутация: 2
Всего: 25



Цитата(bars80080 @  25.1.2008,  15:53 Найти цитируемый пост)
$str = str_ireplace('<a', '<NOINDEX><a rel="nofollow" ', $str);

Да, ещё нужен пробел в паттерне после <a , иначе будут испорчены теги, начинающиеся с а.


Это сообщение отредактировал(а) flashaa - 25.1.2008, 16:07
PM MAIL   Вверх
tolik777
Дата 25.1.2008, 16:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 19.6.2006

Репутация: нет
Всего: 2



О спасибо!

А если нужно добавить исключение?   smile  Ну к примеру обработать так все ссылки в тексте, кроме ссылок на mail.ru.
PM MAIL WWW ICQ   Вверх
bars80080
Дата 25.1.2008, 17:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 2
Всего: 315



ну тут уже придётся посоображать,

скажем explode('<a ', $str);
потом искать в каждом куске атрибут href="mail.ru" и выполнять соответствующие действия,

но такую обработку извольте написать сами, ибо мне уже лень
PM MAIL WWW   Вверх
tolik777
Дата 25.1.2008, 18:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 133
Регистрация: 19.6.2006

Репутация: нет
Всего: 2



Ну ладно, всем большое спасибо!

Готов подкинуть пару WMZ тому кто доделает немного скриптик (чтобы можно было задвать исключения) ИМХО тут можно регулярными выражениями сделать. А то дочка родилась во вторник smile  , сейчас не до думания. А сделать надо........
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.0716 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.