#Начало
usehtml = 1
! Исходная строка:
$escape = 'USEHTML <> 0!
aed
'
gs 'escape'
! Выводим полученную строку:
$escape
act 'Ввести свою строку': gt 'user'
-
#user
! Используем в приглашении ввода вместо "<, >, &" их HTML-представления (т.к. USEHTML <> 0)
$escape = $input('Введите строку, содержащую символы <, >, &')
! Можете попробовать убрать следующую строку и посмотреть что получится при вводе строки с символами "<, >, &"
gs 'escape'
'Строка: <<$escape>>'
act 'Еще': gt $curloc
-
Использование следующей подпрограммы настоятельно рекомендуется при
выводе на экран текста (в описания локаций, в списки действий / предметов),
взятого из строки ввода / функции $INPUT (особенно при USEHTML <> 0).
Причина: игрок может ввести текст (содержащий HTML форматирование),
который при выводе на экран (при USEHTML <> 0) будет отображен некорректно.
#escape
if usehtml:
escapelen = len($escape)
$outescape = ''
i = 1
:loop
$char = $mid($escape, i, 1)
if $char = '<': $char = '<'
if $char = '>': $char = '>'
if $char = '&': $char = '&'
$outescape = $outescape + $char
i = i + 1
if i <= escapelen: jump 'loop'
$escape = $outescape
end
-