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

Не получается добавить шрифт


homa

Вопрос

Редактирую файл ubbc.js — добавляю шрифты. Добавил без проблем Georgia — всё работает. Но вот шрифты с названием из двух и более слов (в частности Palatino Linotype) добавить не получается. Точнее, он появляется в списке шрифтов редактора, теги добавляются в текст, но при предварительном просмотре или публикации постинга так и остаётся код вокруг текста. Видимо, это связано с тем, что название шрифта состоит из двух слов? Я уже не знаю, что и думать. Пробовал и в двойные скобки название заключать, и менять первые буквы на заглавные/строчные — ничего не помогает.

 

Вот как выглядит сейчас этот кусок кода:

 

html += makeOption('','Шрифт',0);
   html += makeOption('arial','Arial',0);
   html += makeOption('courier','Courier',0);
   html += makeOption('impact','Impact',0);
   html += makeOption('tahoma','Tahoma',0);
   html += makeOption('times','Times',0);
   html += makeOption('verdana','Verdana',0);
   html += makeOption('georgia','Georgia',0);
   html += makeOption('palatino linotype','Palatino Linotype',0);

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

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

  • 0
Это ужесточение правил регулярного выражение связанное с XSS, исправление по которому ты наверняка сам и поставил: XSS нападение Теги , , .
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Это ужесточение правил регулярного выражение связанное с XSS, исправление по которому ты наверняка сам и поставил: XSS нападение Теги , , .

Посмотрел — действительно стоит.

 

Сделай с подстрочником: не "Palatino Linotype", а "Palatino_Linotype"; а вывод затем в парсере сделай.

С подстрочником вчера ещё пробовал, только вот в парсере не менял ничего (не знал об этой фиче). А что там нужно добавить-то и где? Наверно, в этом куске кода:

 

while ( preg_match( "#\[font=([a-zA-Z]+)\](.*?)\[/font\]#is", $txt ) )
{
$txt = preg_replace( "#\[font=([a-zA-Z]+)\](.*?)\[/font\]#ies"	, "\$this->regex_font_attr(array('s'=>'font','1'=>'\\1','2'=>'\\2'))", $txt );
}

 

Подскажите, плиз.

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

  • 0
Посмотрел — действительно стоит.

:D если бы не стояло, давно бы уж кто-нить сломал.

А что там нужно добавить-то и где? Наверно, в этом куске кода:

Дык ты снижаешь безопасность своего форума. Ты хочешь сделать это осознанно?

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

  • 0
Дык ты снижаешь безопасность своего форума. Ты хочешь сделать это осознанно?

Не, не хочу. :D Значит, даже с подстрочником не получится? Т. е. про все шрифты с двусловными названиями надо забыть? Ну и ладно тогда, обойдёмся тем, что есть.

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

  • 0
Дык ты снижаешь безопасность своего форума. Ты хочешь сделать это осознанно?

Если сделать

$txt = str_replace( 'Palatino_Linotype', 'Palatino Linotype', $txt );

это составит угрозу безопасности? :D

 

 

 

Наверно, в этом куске кода:
while ( preg_match( "#\[font=([a-zA-Z]+)\](.*?)\[/font\]#is", $txt ) )
{
$txt = preg_replace( "#\[font=([a-zA-Z]+)\](.*?)\[/font\]#ies"	, "\$this->regex_font_attr(array('s'=>'font','1'=>'\\1','2'=>'\\2'))", $txt );
}

Наверное перед этим куском кода.

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

  • 0
это составит угрозу безопасности?

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

 

Товарищ словами:

С подстрочником вчера ещё пробовал, только вот в парсере не менял ничего (не знал об этой фиче). А что там нужно добавить-то и где? Наверно, в этом куске кода:

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

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

  • 0

Так-так, отсюда поподробнее, пожалуйста. :D Значит, если я в парсере перед этим:

 

while ( preg_match( "#\[font=([a-zA-Z]+)\](.*?)\[/font\]#is", $txt ) )
{
$txt = preg_replace( "#\[font=([a-zA-Z]+)\](.*?)\[/font\]#ies"	, "\$this->regex_font_attr(array('s'=>'font','1'=>'\\1','2'=>'\\2'))", $txt );
}

 

вставлю это:

$txt = str_replace( 'Palatino_Linotype', 'Palatino Linotype', $txt );

 

то всё заработает, и угрозы безопасности не будет?

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

  • 0
то всё заработает, и угрозы безопасности не будет?

Не пробовал. По идее должно работать, и без угрозы безопасности.

Но у себя такое делать не буду... А то потом макинтошники огрызками закидают. :D

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

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

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

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

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

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

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

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

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

Зарузка...
×
×
  • Создать...

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

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