• Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Модератор форума: Yuri_G  
Сообщество uCoz » Вебмастеру » Раскрутка сайта » $MESSAGE$ в метатэг
$MESSAGE$ в метатэг
denubil
Сообщений: 22
Репутация: 11

Сообщение # 1 | 19:36:45
Здраствуйте, кто знает помогите как можно вывести все описание из $MESSAGE$ в метатэг, пример:
Код
<meta name="description" content="$MESSAGE$">

если написать так то в верхней части сайта появляеться каша, помогите кто знает.

Онлайн фильмы - www.http://filmen.at.ua
Rad_van_Cor
Сообщений: 1179
Репутация: 437

Сообщение # 2 | 22:09:23
Каша появляется когда в $MESSAGE$ встречаются слеши. Ну к примеру когда ссылка в $MESSAGE$ есть , типа http://forum.ucoz.ru/forum/24-52119-1
Из за этих слешей получается борода полная. Мне кстати тоже интересно как это решить.

Вансан
Сообщений: 77
Репутация: 33

Сообщение # 3 | 13:39:56
Rad_van_Cor, только не слеши, а двойные кавычки ".

Absit invidia verbo
Антитурк
Сообщений: 35
Репутация: -13
Уровень замечаний:

Сообщение # 4 | 13:40:06
добавил на сайте следующий код 
Код
<script type="text/javascript"><!--
document.write(VK.Share.button({url: 'http://твой сайт', title: '$MESSAGE$'}, {type: "round", text: "Поделится"};));
--></script></div>

это для шарига вконтакте, сам код без обработки выглядет такКод<
Код
<script type="text/javascript"><!--
document.write(VK.Share.button(false,{type: "round", text: "Поделится"};));
--></script>


но в втором коде когда нажимаешь <поделится> то вместо текста шарится куча не нужного а в первом сам текст(что мне и нужно).
вопрос в следующем,влияет ли повтор $MESSAGE$ на индексацию сайта,может ли оно как то отрицательно повлиять?если да то можно как то скрыть КОД 1 от поисковика?
Сообщение отредактировал Антитурк - Пятница, 17 Май 2013, 19:48:45
Астра
Сообщений: 847
Репутация: 260

Сообщение # 5 | 13:40:16
Антитурк, обычно скрипты игнорируются поисковиками, тем более такого плана. Но вот с какой проблемой вы можете точно столкнуться, так это если в $MESSAGE$ окажутся теги, ковычки - они могут запросто покрамсать скрипт
Антитурк
Сообщений: 35
Репутация: -13
Уровень замечаний:

Сообщение # 6 | 13:40:26
Цитата (Астра)
нтитурк, обычно скрипты игнорируются поисковиками, тем более такого плана. Но вот с какой проблемой вы можете точно столкнуться, так это если в $MESSAGE$ окажутся теги, ковычки - они могут запросто покрамсать скрипт
Спасибо,вы оказались правы.придется искать другое решение вопроса...)
Drinko
Сообщений: 909
Репутация: 773

Сообщение # 7 | 13:40:36
Цитата (Астра)
если в $MESSAGE$ окажутся теги, ковычки - они могут запросто покрамсать скрипт

Можно задать переменную:

Код
var mestovk = $MESSAGE$;
document.write(VK.Share.button({url: 'http://твой сайт', title: mestovk}, {type: "round", text: "Поделится"};));

Вансан
Сообщений: 77
Репутация: 33

Сообщение # 8 | 13:40:46
Цитата (Drinko)
Можно задать переменную:
Drinko, предположим, в $MESSAGE$ лежит:
Цитата
Да это же песня "Don't Worry Be Happy"!
Скрипт всё равно будет испорчен.

Absit invidia verbo
Антитурк
Сообщений: 35
Репутация: -13
Уровень замечаний:

Сообщение # 9 | 14:33:15
Цитата (Вансан)
Цитата (Drinko)Можно задать переменную:
Drinko, предположим, в $MESSAGE$ лежит:
Цитата
Да это же песня "Don't Worry Be Happy"!
Скрипт всё равно будет испорчен.
вот тут все работает норм,только как то опять же не разобрался как оно делается
NZT
Сообщений: 369
Репутация: 483

Сообщение # 10 | 15:29:29
Цитата (Вансан)
Скрипт всё равно будет испорчен.

Это ж элементарно, Ватсон wink
Цитата
Да это же песня «Don't Worry Be Happy!»


Да, и восклицательный знак ставится перед закрытием кавычек.
Вансан
Сообщений: 77
Репутация: 33

Сообщение # 11 | 16:31:17
Цитата (NZT)
Это ж элементарно, Ватсон
Элементарно?
Что ж, тогда приведите код, который заменит в $MESSAGE$ обычные кавычки на ёлочки. wink

Absit invidia verbo
NZT
Сообщений: 369
Репутация: 483

Сообщение # 12 | 16:41:54
Цитата (Вансан)
приведите код, который заменит в $MESSAGE$ обычные кавычки на ёлочки.

Шутка такая? Если да, то не особо и смешно....
Вансан
Сообщений: 77
Репутация: 33

Сообщение # 13 | 15:20:01
NZT, нет, я вполне серьёзно.
Имеется $MESSAGE$. Лежать там может всё, что угодно, просто набор символов.
Задача - корректно подставить его в скрипт.
Вы предложили решение: экранировать двойные кавычки (ну, или поменять их на ёлочки, не суть).
Вопрос как? Условными операторами этого не добиться.

Если уж делать, то тогда как-то так:
Код
<div id="content">$MESSAGE$</div>
. . .
var mestovk = $('#content').text();
document.write(VK.Share.button({url: 'http://твой сайт', title: mestovk}, {type: "round", text: "Поделится"};));

Absit invidia verbo
NZT
Сообщений: 369
Репутация: 483

Сообщение # 14 | 18:04:00
велосипед...
Сообщение отредактировал NZT - Суббота, 25 Май 2013, 19:37:56
Rad_van_Cor
Сообщений: 1179
Репутация: 437

Сообщение # 15 | 18:39:21
Ну допустим в самом $MESSAGE$ кавычки меняем так:

Код
<div class="q">$MESSAGE$</div>


Код
<script type="text/javascript">
$(document).ready(function(){
       jQuery.fn.liQuotes = function(options){
           return this.each(function(){
               htmlreplace($(this));
               function htmlreplace(element){
                   if (!element) element = document.body;
                   var nodes = $(element).contents().each(function () {
                       if (this.nodeType == Node.TEXT_NODE) {
                           var result = $(this).text().replace(/\x27/g, '\x22').replace(/(\w)\x22(\w)/g, '$1\x27$2').replace(/(^)\x22(\s)/g, '$1»$2').replace(/(^|\s|\()"/g, "$1«").replace(/"(\;|\!|\?|\:|\.|\,|$|\)|\s)/g, "»$1")
                           $(this).after(result).remove();
                       } else {
                           htmlreplace(this);
                       };
                   };);
               };
           };);
       };
       //START TEST
       $('a.event').click(function(){alert('Событие "click"')};)    
       //END TEST
          
       $('.q').liQuotes();
          
};)       
</script>




Но как заставить скрипт менять кавычки в метатеге description ?

Код
<meta property="og:description" content="<?substr($MESSAGE$,0,100)?><?if(len($MESSAGE$)>100)?> ...<?endif?>" />
<meta name="description" content="<?substr($MESSAGE$,0,100)?><?if(len($MESSAGE$)>100)?> ...<?endif?>" />

Добавлено (25 Май 2013, 18:39:21)
---------------------------------------------


Ну или можно сделать проще, идём на страницу добавления и редактирования материала, и ставим там скрипт

Код
<script type="text/javascript">
$(document).ready(function(){
     jQuery.fn.liQuotes = function(options){
         return this.each(function(){
             htmlreplace($(this));
             function htmlreplace(element){
                 if (!element) element = document.body;
                 var nodes = $(element).contents().each(function () {
                     if (this.nodeType == Node.TEXT_NODE) {
                         var result = $(this).text().replace(/\x27/g, '\x22').replace(/(\w)\x22(\w)/g, '$1\x27$2').replace(/(^)\x22(\s)/g, '$1»$2').replace(/(^|\s|\()"/g, "$1«").replace(/"(\;|\!|\?|\:|\.|\,|$|\)|\s)/g, "»$1")
                         $(this).after(result).remove();
                     } else {
                         htmlreplace(this);
                     };
                 });
             };
         });
     };
     //START TEST
     $('a.event').click(function(){alert('Событие "click"')})  
     //END TEST
      
     $(#brief,#message').liQuotes();
      
})     
</script>

ну и .q меняем на #brief,#message
И теперь при добавлении текста, скрипт сразу будет заменять ковычки))
Так по моему на много лучше) Но это в случае если сайт новый и на нём ещё ни чего не добавлено. А если уже куча новостей или чего другого добавлено.
Этот вариант не такой и хороший, так как на уже добавленных материалах кавычки он не сменит)
Разве что, совместить первый вариант, когда скрипт меняет текст из переменной $MESSAGE$, со вторым, когда он меняет текст в textarea при добавлении и редактировании материала.

Сообщение отредактировал Rad_van_Cor - Суббота, 25 Май 2013, 18:31:11
Сообщество uCoz » Вебмастеру » Раскрутка сайта » $MESSAGE$ в метатэг
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск: