X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость ( Вход | Регистрация )

Открыть тему
Тема закрыта
> [php] Условие перелинковки
taxi2008
taxi2008
Topic Starter сообщение 3.10.2012, 16:18; Ответить: taxi2008
Сообщение #1


Оптимизатор
******

Группа: Active User
Сообщений: 2034
Регистрация: 29.7.2008
Поблагодарили: 470 раз
Репутация:   114  


Здравствуйте!
Пытаюсь переделать модуль перелинковки на danneo. Если работали с ней - прекрасно, если нет, то ничего страшного, суть не в движке.
Собственно, модуль простой: есть ссылка, есть анкор.. модуль ищет в тексте анкоры и проставляет ссылки.
Проблема в том, что если анкор встречается в предложений, которое заключенно в теги h1...h5, то он естественно проставляет ссылку. Т.е. такое условие не продумали разработчики, что нужно исключать текст, заключенный в определенный тег.

Пример:
<p><h1>CMS Danneo (некоммерческий продукт)</h1> - это бесплатная, c открытым исходным кодом система управления сайтами.</p>

Анкор - "danneo"
Условие - Если анкор находиться между тегами h1, то не выполнять перелинковку

Подскажите пожалуйста, как составить такое условие в php или вообще возможно такое?

Сообщение отредактировал taxi2008 - 3.10.2012, 16:18
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 3.10.2012, 17:32; Ответить: dan1
Сообщение #2


Участник
***

Группа: User
Сообщений: 195
Регистрация: 12.8.2010
Из: Тагила
Поблагодарили: 74 раза
Репутация:   25  


$text = "<h1>danneo</h1> <a href=\"#\">Danneo</a> <span>danneo</span> danneo";
$cutTags = array("h\d", "span", "a");
$tagsStr = implode("|", $cutTags);
$pattern = '/<('.$tagsStr.').*>.*<\/('.$tagsStr.')>/Ui';
$replaced = preg_replace($pattern, "", $text);

Вписываете правила с массив $cutTags.. Данный вариант не будет работать для не завершенных и одиночных тегов. Можно сделать, чтобы эти теги учитывались, но решил не усложнять регулярку.

Решил чуть переписать $pattern..
$pattern = '/<('.$tagsStr.').*(\/>|('.$tagsStr.')>)/Ui';

Если замените, то будет также работать с одиночными тегами.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
taxi2008
taxi2008
Topic Starter сообщение 4.10.2012, 8:26; Ответить: taxi2008
Сообщение #3


Оптимизатор
******

Группа: Active User
Сообщений: 2034
Регистрация: 29.7.2008
Поблагодарили: 470 раз
Репутация:   114  


Спасибо dan1, как всегда помогли советом. Сегодня попробую использовать, о результатах отпишусь
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Недорогие услуги - php/js/mysql/jquery/bootstrap
2 vlads 645 Вчера, 21:01
автор: vlads
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
18 qpPeW 3380 12.12.2017, 13:32
автор: qpPeW
Открытая тема (нет новых ответов) php скрипты любой сложности / диз+верстка (адаптивно)
любые задачи на php - автоматизация, парсинг, работа с БД
1 affrodita 496 8.12.2017, 17:40
автор: affrodita
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыImage Optimizer (PHP)
6 bars96 908 17.11.2017, 0:47
автор: bars96
Открытая тема (нет новых ответов) Стабильный хостинг за 30р в месяц. GNU/Linux, PHP, MySQL, Perl, бэкапы. Помогу перенести сайт.
5 freeax 1539 10.11.2017, 13:15
автор: freeax


 



RSS Текстовая версия Сейчас: 14.12.2017, 11:05
Дизайн