Перейти к публикации

Странная строчка в модуле rssinform.php


Рекомендованные сообщения


		foreach ($xml->content as $content) 

		{

			$xml->content[$i]['title'] = strip_tags($xml->content[$i]['title']);

			$xml->content[$i]['title'] = trim($xml->content[$i]['title']);

			if ($value['tmax'] AND strlen($xml->content[$i]['title']) > $value['tmax']) $xml->content[$i]['title'] = substr ($xml->content[$i]['title'],0 , $value['tmax'])." ...";


//			$xml->content[$i]['description'] = strip_tags($xml->content[$i]['description'],"<br>");

//			$xml->content[$i]['description'] = str_replace("<br>", " ", str_replace("<br />", " ",  $xml->content[$i]['description'] ) );																

			$xml->content[$i]['description'] = trim($xml->content[$i]['description']);


			if ($value['dmax'] AND strlen($xml->content[$i]['description']) > $value['dmax']) {


				$xml->content[$i]['description'] = substr ($xml->content[$i]['description'],0 , $value['dmax']);


				if (($value['dmax'] = strpos($xml->content[$i]['description'], ' ', $value['dmax'] - 10)))	$xml->content[$i]['description'] = substr ($xml->content[$i]['description'],0 , $value['dmax']);


				$xml->content[$i]['description'] .= " ...";


			}


			$i++;

		}

Вот фрагмент кода модуля rssinform.php, входящего в поставку DLE (две строки в нём я закомментировал сам). Убиение <br> мне надо было отключить т.к. цитаты с башорга сбивались. Вопрос № 1.. зачем так жестоко его уничтожать? Сначала strip_tags, потом вложенный str_replace? ;) В целом код здесь достаточно очевидный даже для такого ламера как я ;).. Но вот после строчки обрезания текста новости до максимальной длины:
$xml->content[$i]['description'] = substr ($xml->content[$i]['description'],0 , $value['dmax']);
следующая строка делает нечно загадочное и необъяснимое..
if (($value['dmax'] = strpos($xml->content[$i]['description'], ' ', $value['dmax'] - 10)))	$xml->content[$i]['description'] = substr ($xml->content[$i]['description'],0 , $value['dmax']);

Вопрос № 2.. что она проверяет... что символ после последнего символа строки пробел? И потом опять обрезает только что обрезанную строку..?

Прошу прощения, если подобные вопросы здесь задавать не принято и я придираюсь к мелочам ;)

Ссылка на сообщение
Поделиться на других сайтах

Вопрос № 1.. зачем так жестоко его уничтожать? Сначала strip_tags, потом вложенный str_replace?

В целом код здесь достаточно очевидный даже для такого ламера как я ..

а логически подумать нельзя? этот код разделяет то что в оригинале разделено переносом строк, например новость:

пункт один

пункт два

с использованием оригинального кода будет выглядеть как:

пункт один пункт два

после вашей правки будет выглядеть как

пункт одинпункт два
следующая строка делает нечно загадочное и необъяснимое..

эта строчка нужна чтобы необрезать слово наполовину, например

тестовое сообщ....

Хотя в принципе новая версия уже содержит другой код, более правильный и качественный.

Ссылка на сообщение
Поделиться на других сайтах

После моей правки всё выглядит отлично ;) <br> дают новую строку, как и должно быть.

(($value['dmax'] = strpos($xml->content[$i]['description'], ' ', $value['dmax'] - 10)))

= - это присваивание вроде бы? Или у меня уже совсем крыша протекла ;)

Зачем так сложно-то блин ;)

Изменено пользователем error2k
Ссылка на сообщение
Поделиться на других сайтах

После моей правки всё выглядит отлично <br> дают новую строку, как и должно быть.

RSS информер не должен использовать стороннего форматирования, иначе если в тексте будет:

пункт 1

пункт 2

то у вас будет пустота при установке ограничения символов, надеюсь логику поняли

= - это присваивание вроде бы? Или у меня уже совсем крыша протекла

это присванивание, и ничего сложного в этом нет

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...