Перейти к контенту

Читабельные везде ссылки


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

Огромнейшее спасибо, на самом деле у меня куда то пропал вот этот кусок кода =)

		//-----------------------------------------
	// Tidy up the viewable URL
	//-----------------------------------------

	if ( preg_match( "/^<img src/i", $url['show'] ) )
	{
		$skip_it	 = 1;
		$url['show'] = stripslashes($url['show']);
	}

	$url['show'] = str_replace( "&" , "&" , $url['show'] );
	$url['show'] = preg_replace( "/java script:/i", "java script: ", $url['show'] );

	if ( (strlen($url['show']) -58 ) < 3 )  $skip_it = 1;

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

  • Ответы 90
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

обнаружен баг во взаимодействии с модом

Модифицированный

решение

найти ДВА раза

				if ( preg_match( "/^<img src/i", $show ) )
			{
				$show = stripslashes($show);
			}

и заменить ДВА раза на

				if (( preg_match( "/^<img src/i", $show ) ) or ( preg_match( "/^<img style/i", $show ) ) or ( preg_match( "/^<img width/i", $show ) ) )
			{
				$show = stripslashes($show);
			}

 

найти 2 раза

			if ((strlen($show)>60)and(! preg_match( "/^<img src/i", $show ) ))
		{
			$show = substr($show,0,59);
		}

и 2 раза заменить на

				if ((strlen($show)>60)and(! preg_match( "/^<img src/i", $show ) )and(! preg_match( "/^<img style/i", $show ) )and(! preg_match( "/^<img width/i", $show ) )  )
			{
				$show = substr($show,0,59);
			}

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

при попытке поставить прямой линк на клип (~70 Mb), который лежит у меня же на хосте, ругается на 30 сек. ожидание выполнения

Fatal error: Maximum execution time of 30 seconds exceeded in/sources/classes/bbcode/class_bbcode_core.php on line 1799

 

вот эта строчка

if(preg_match('~(</head>|<body>|(<title>\s*(.*?)\s*</title>))~i', $d, $m))

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

логично))он все 70 мб пытался построчно просканировать и найти там титл)

ща посмотрю как поставить ограничение на размер

 

перед строчкой

while (!feof($fp))

попробуй вставить

if (filesize($fp) > 300000)
{
return;
}

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

логично))он все 70 мб пытался построчно просканировать и найти там титл)

:D

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

Вопрос - это название берёться во время написания поста при его отправке или какждый раз при просмотре кем-то темы?

 

Насчёт файла. Понятно что ссылку типа <a href="http://www.filestore.com/file.rar" target="_blank">http://www.filestore.com/file.rar</a> надо просто преобразовывать в file.rar. По-этому если нету титла, надо просто чтобы вводилось имя файла. И кстати, титл же всегда в самом начале, поэтому надо чтобы просканирование на титл было очень коротким чтобы не перегружать... не знаю кого, или форум или свой интернет. Если поставить ограничение в 5 килобайт оно будет сканировать титл?

 

на сколько я помню @ означает просто не показывание ошибки, а проблема не остаётся решённой. Ошибка даже по-моему в лог ошибок попадает.

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

название берется только один раз, при написании поста

 

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

а если титла нет как такового, выдаватся будет просто сама ссылка в таком же виде.. в первом посте есть скриншот, там все видно

 

5 кб мало мне кажется.. 300000 байт вполне достаточно на ограничение

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

300 кб это уже прилично. Если у вас диалап то это качать и качать. По-этому написание ответа со ссылкой может затянуться очень на долго. А титл должен находиться в первых нескольких килобайтах если я правильно всё понимаю.

 

Ну а что всётаки насчёт преобразовки ссылки в название файла?

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

ну так он проходит цикл по 2048 байт while конец файла

while (!feof($fp)) надо тогда написать как-то учитывая размер

 

ссылку в название файла..подумаю

 

смотри, если он находит титл, происходит break;

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

логично))он все 70 мб пытался построчно просканировать и найти там титл)

ща посмотрю как поставить ограничение на размер

 

перед строчкой

while (!feof($fp))

попробуй вставить

if (filesize($fp) > 300000)
{
return;
}

предупреждение даёт

 

IPB Предупреждение [2] filesize() [function.filesize]: stat failed for Resource id #42 (Строка: 1795 файла /sources/classes/bbcode/class_bbcode_core.php)

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

Я думаю через if. Я конечтно не понимаю всего в пхп, но мне кажеться что если где-то перед функцией поставить

<if последние_3_буквы="php" or последние_3_буквы="htm" or последние_3_буквы="html" or последние_3_буквы="остальные виды страниц">

то можно сделать отдельную функцию на то если это не эти 3 буквы и обрабатывать как файл (просто выводить его имя)

 

Это я к примеру. Может можно как-то в пхп выбрать сразу розширение файла...

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

Ой, совсем забыл спросить, а что делать с вот этим: Как сделать ссылки на темы форума читабельными ?

Удалить все эти изменения а потом ставить твой мод?

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

Ну ты как бы не всё вставлял, я потому и спрашиваю. Там ещё надо файлы другие править. Ты бы открыл ссылку, понял мой вопрос. Там ещё надо sources/action_public/misc/warn.php править.
Ссылка на комментарий
Поделиться на других сайтах

А, ну так это поправка Сонга, она у меня давным давно стоит, я и не подумал про нее..

сейчас найду ее у него на форуме и включу ссылку в первый пост

 

 

а, нет не буду давать

в решении после патчей безопасности(тобишь в том коде, что я включил) нет такой поправки

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

Хм.. Так и не понял. Мне эту поправку удалить или нет? :D
Ссылка на комментарий
Поделиться на других сайтах

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

  • 2 недели спустя...

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

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

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

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

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

Зарузка...

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

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.