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



 

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

Открыть тему
Тема закрыта
> [DLE] Необходимо дописать хак
taxi2008
taxi2008
Topic Starter сообщение 6.4.2012, 19:49; Ответить: taxi2008
Сообщение #1


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

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


Добрый вечер.
Собственно сделал вывод текста из короткой новости, если кол-во символов в ней превышает 200:
if(strlen($row['short_story'])>200) {$somemnog="...";} else {$somemnog="";}
$minshortstory = substr( $row['short_story'], 0, 200 ) .$somemnog;
$tpl->set( '{minshortstory}', $minshortstory );


Однако, при перелинковке новостей возникла проблема. Если в эти 200 символов входит ссылка - то соответсвенно эта ссылка появляеться на месте, где стоит макрос {minshortstory}. А он у меня на странице категории, следовательно появляеться ссылка на саму себя.
Прошу помочь дописать условие, что если имееться ссылка среди этих 200 символов, то он выводит обычный текст.
т.е. вместо
текс текст  текст <a href="/ссылка_на_категорию/">анкор</a> текст текст

он выведит:
текс текст  текст анкор текст текст


Если не трудно - прошу помочь написать
Если затруднительно, но возможно - указывайте цену работы
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 6.4.2012, 20:05; Ответить: dan1
Сообщение #2


Участник
***

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


Эмм...
$minshortstory = strip_tags(substr( $row['short_story'], 0, 200 ) .$somemnog);

Или я неправильно понял?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
taxi2008
taxi2008
Topic Starter сообщение 6.4.2012, 20:17; Ответить: taxi2008
Сообщение #3


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

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


dan1, уже делал так.. В таком случае получаеться так:
текс текст текст текст текст

т.е. анкор пропадает вместе с ссылкой
хотя нужно чтобы было так:
текс текст текст анкор текст текст

т.е. он не должен вывести анкор, но без ссылки..

Сообщение отредактировал taxi2008 - 6.4.2012, 20:17
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fioru
fioru
сообщение 6.4.2012, 20:23; Ответить: fioru
Сообщение #4


Завсегдатай
*****

Группа: Active User
Сообщений: 508
Регистрация: 30.11.2010
Из: Смоленск
Поблагодарили: 172 раза
Репутация:   37  


ТС, думаю вот эта старенькая тема на форуме Вам поможет
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Electric
Electric
сообщение 6.4.2012, 21:09; Ответить: Electric
Сообщение #5


CMS help/antivirus
******

Группа: Active User
Сообщений: 1532
Регистрация: 27.12.2009
Из: Єдина Україна
Поблагодарили: 389 раз
Репутация:   57  


(taxi2008 @ 6.4.2012, 19:17) *
т.е. он не должен вывести анкор, но без ссылки..
Внимательнее изучите: http://php.net/manual/en/function.strip-tags.php


$minshortstory = substr(strip_tags($row['short_story']), 0, 200 ) .$somemnog);

Так будет правильнее.


--------------------
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dan1
dan1
сообщение 6.4.2012, 22:28; Ответить: dan1
Сообщение #6


Участник
***

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


Так будет правильнее.

Согласен - поторопился.
taxi2008, очень странно, что не работает данная функция.
В таком случае получаеться так:

текс текст текст текст текст

Странно, если б были теги не валидны, то пропало бы всё и после анкора..

Вообщем если так и не заработает, то можно попробовать поработать напильником:
$str="текс текст  текст <a href=\"ссылка_на_категорию\">анкор</a> текст текст";
echo preg_replace("/<a href=.*>(.*)<\/a>/", "$1", $str);

Написал регулярку, но работать она будет только в общих случаях при валидных тегах и без unicode.

Сообщение отредактировал dan1 - 6.4.2012, 22:30


Поблагодарили: (1)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
taxi2008
taxi2008
Topic Starter сообщение 6.4.2012, 23:02; Ответить: taxi2008
Сообщение #7


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

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


(Electric @ 6.4.2012, 21:09) *
Внимательнее изучите: http://php.net/manual/en/function.strip-tags.php


$minshortstory = substr(strip_tags($row['short_story']), 0, 200 ) .$somemnog);

Так будет правильнее.


Заработало.. спасибо, только лишнюю ")" поставили happy.gif
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Electric
Electric
сообщение 7.4.2012, 20:12; Ответить: Electric
Сообщение #8


CMS help/antivirus
******

Группа: Active User
Сообщений: 1532
Регистрация: 27.12.2009
Из: Єдина Україна
Поблагодарили: 389 раз
Репутация:   57  


Наздоровье wink.gif
Вы хоть скриншот выложите того что получилось - интересно будет глянуть.


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


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Регистрация Вашего сайта (профиля,DLE сайты,подписи на форумах,постинг Тиц 10> , ПР 1>)
277 kaartes 102422 7.12.2017, 9:55
автор: Tootkin
Горячая тема (нет новых ответов) Услуги по CMS Wordpress, DLE, Joomla!. Правки, ремонт, настройка.
Редактирование и правки. Низкие цены.
142 contex1 64941 5.12.2017, 12:13
автор: contex1
Открытая тема (нет новых ответов) Необходимо разрезать и установить Меню для группы ВКонтакте
2 boltuk 550 4.12.2017, 14:44
автор: tezoro
Открытая тема (нет новых ответов) Требуется так сказать оптимизация шаблона DLE
5 Deadman_n 384 2.12.2017, 13:24
автор: Deadman_n
Открытая тема (нет новых ответов) Перенос сайта с DLE на WordPress
3 mdobyshev 853 30.11.2017, 7:29
автор: Nell


 



RSS Текстовая версия Сейчас: 11.12.2017, 4:51
Дизайн