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

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


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

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

		//-----------------------------------------
	// 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 недели спустя...

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

Зарузка...

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

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

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