Цитата: SymbioZДоп. поле чтоле?Нет, вроде тега. ВКонтакте у видеозаписей есть "Поделиться" и "Код для вставки". Вот его копируешь, вставляешь в поле новости, он java-скриптом автоматически преобразовывается в тег [vk=ссылка], а затем, когда новость добавляется в бд, парсер преобразует его в видеоролик. Получается, как вставка видео с ютуба, т.е. видеоролик может быть в любом месте статьи, где добавили код. Вот как выглядит модуль:Добавляем в parse.class.php$source = preg_replace( "#\\[vk=([^\\]]+)\\]#ies", "\\$this->build_vk('\\\\1'
", $source );Чуть ниже:$txt = preg_replace( "#<!--dle_vk_begin
.+?)-->(.+?)<!--dle_vk_end-->#is", '[vk=\\\\1]', $txt );И функция:function build_vk($url) { $url = $this->clear_url( urldecode( $url ) ); $url = str_replace("&","&", $url ); if ( $url == ""
return; $source = parse_url ( $url ); $source['host'] = str_replace( "
www.", "", strtolower($source['host']) ); if ($source['host'] != "vk.com" AND $source['host'] != "vkontakte.ru"
return "[vk=".$url."]"; return '<!--dle_vk_begin:'.$url.'--><center> <iframe src="'.$url.'" width="607" height="360" frameborder="0"></iframe> </center><!--dle_vk_end-->'; }И яваскрипт для преобразования кода ВКонтакте в тег [vk=ссылка]:<script language="javascript" type="text/javascript">/*<![CDATA[*/document.onmouseup = function(){ var t = document.getElementsByTagName('textarea'
; var short_scrollTop = document.getElementById('short_story'
.scrollTop; var short_scrollLeft = document.getElementById('short_story'
.scrollLeft; var full_scrollTop = document.getElementById('full_story'
.scrollTop; var full_scrollLeft = document.getElementById('full_story'
.scrollLeft; for (var i=0; i<t.length; i++) { t
.value=t.value.replace(/<iframe src="(.*?)".*?<\\/iframe>/gim, '[vk=$1]' } document.getElementById('short_story'.scrollLeft = short_scrollLeft; document.getElementById('short_story'.scrollTop = short_scrollTop; document.getElementById('full_story'.scrollLeft = full_scrollLeft; document.getElementById('full_story'.scrollTop = full_scrollTop;}/*]]>*/</script>Но в 10 версии парсер поменялся, и код тоже пришлось редактировать. Видимо, где-то отредактировал косячно и теперь, если оставить ява-скрипт, то преобразованный код [vk=ссылка] не обрабатывается, точнее удаляется. Если яваскрипт отключить, то в коде так и останется <iframe src="http://vk.com/video_ext.php?oid=-...." width="607" height="360" frameborder="0"></iframe>и тогда при сохранении получится видео (правда, в предварительном просмотре оно не отображается).Сейчас у меня заменено так:$source = preg_replace_callback( "#\\[vk=([^\\]]+)\\]#i", array( &$this, 'build_vk', $source );$txt = preg_replace( "#<!--dle_vk_begin.+?)-->(.+?)<!--dle_vk_end-->#is", '[vk=\\\\1]', $txt );function build_vk($url) { $url = $matches[1]; $url = $this->clear_url( urldecode( $url ) ); $url = str_replace("&","&", $url ); $decode_url = str_replace("&","&", $url ); if( $url == "" ) return; $source = @parse_url ( $url ); $source['host'] = str_replace( "www.", "", strtolower($source['host']) ); if ($source['host'] != "vk.com" AND $source['host'] != "vkontakte.ru" return "[vk=".$decode_url."]"; return '<!--dle_vk_begin:'.$decode_url.'--><center> <iframe src=\\"'.$decode_url.'\\" width=\\"607\\" height=\\"360\\" frameborder=\\"0\\"></iframe> </center><!--dle_vk_end-->'; }Удалось заставить работать хак $source = preg_replace_callback( "#\\[vk=([^\\]]+)\\]#i", array( &$this, 'build_vk', $source );заменил обратно на $source = preg_replace( "#\\[vk=([^\\]]+)\\]#ies", "\\$this->build_vk('\\\\1'", $source );И из функции удалил$url = $matches[1];