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



 

Здравствуйте, гость (

| Вход | Регистрация )

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


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

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

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

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

Сообщение отредактировал taxi2008 - 3.10.2012, 16:18


--------------------
ХОСТИНГ, на котором держу свои сайты
Своим рефералам предоставлю 3 месяца хостинга бесплатно!
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 3.10.2012, 17:32; Ответить: dan1
Сообщение #2


$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


Спасибо dan1, как всегда помогли советом. Сегодня попробую использовать, о результатах отпишусь

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.


--------------------
ХОСТИНГ, на котором держу свои сайты
Своим рефералам предоставлю 3 месяца хостинга бесплатно!
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) СОЗДАНИЕ : / САЙтЫ / ЛЕНДЫ / БОТЫ ТГ / ВАЙТЫ / КРЕО / СОФТЫ / ДИЗАЙН [PHP, JS, HTML/CSS] и другое
5 CULA 3401 19.12.2023, 18:55
автор: CULA
Открытая тема (нет новых ответов) Услуги по созданию и доработке скриптов PHP, MySQL, JavaScript, jQuery
Разработка сайтов и сервисов под-ключ
0 alexey 1242 24.11.2023, 14:46
автор: alexey
Горячая тема (нет новых ответов) Тема имеет прикрепленные файлыВеб-разработка (HTML5, CSS3, JavaScript, jQuery, Ajax, PHP)
56 qpPeW 44909 19.7.2023, 10:03
автор: qpPeW
Открытая тема (нет новых ответов) Есть спецы по php/laravel?
3 Mixatraider 1889 26.5.2023, 20:48
автор: Mixatraider
Открытая тема (нет новых ответов) Опытный PHP\Python разработчик в поиске интересных задач
6 daikzlex 3402 25.5.2023, 13:55
автор: daikzlex


 



RSS Текстовая версия Сейчас: 20.4.2024, 3:30
Дизайн