Перейти к контенту
  • 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

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

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

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

Гость
Ответить на вопрос...

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

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

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

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

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

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

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

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