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, как всегда помогли советом. Сегодня попробую использовать, о результатах отпишусь

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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Нужна верстка со знанием php
4 Nemo 378 22.5.2018, 7:14
автор: Nemo
Открытая тема (нет новых ответов) Ищу php-программиста, работа с Yii2
0 eduarddis 314 19.5.2018, 15:58
автор: eduarddis
Открытая тема (нет новых ответов) Веб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
20 qpPeW 5745 30.4.2018, 15:34
автор: koroluk1990
Открытая тема (нет новых ответов) Нужен backend разработчик (PHP)
0 Jerard 513 27.4.2018, 1:30
автор: Jerard
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлы[предлагаю] Качественные услуги по PHP/HTML/CSS/JS, любые движки
Услуги программирования
39 Alexandr_js 12020 15.4.2018, 15:15
автор: antikvar99


 



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