Source Code for suites.PS.utils.charEntities
on charEntities (s = nil) {
«charEntities © 1998 by Philip Suh <phil@filsa.net>.
«Part of suites.PS
«Docs -- version 1 Fri, Jul 24, 1998 at 6:45:53 PM by PS
«
«converts the 4 reserved ASCII chars into Char entities
«&<>"
«also escapes braces, atmark to cancel Frontier macro processing
«{}@
local (flinteractive = false, ttr="", adr8859);
if s == nil {
s = wp.getSelText ();
flinteractive = true};
if flinteractive {
if not dialog.ask ("Generate HTML entity for what character?", @s) {
return}};
case sys.os () {
"MacOS" {
adr8859=@system.verbs.builtins.html.data.iso8859.mac};
"WinNT";
"Win95" {
adr8859 = @system.verbs.builtins.html.data.iso8859.win}};
on getCharEnt (aChar) {
local (chNum,charString);
chNum = number (char(aChar));
case aChar {
'>' {
charString = ">"};
'<' {
charString = "<"};
'&' {
charString = "&"};
'"' {
charString = """};
«'{' // char entities
«charString = "{"
«'}' // char entities
«charString = "}"
'{';
'@' { // escape these 3 chars
charString = "\\" + achar}}
else {
if chNum >= 128 {
charString = string.iso8859encode(aChar, adr8859)}
else {
charString = aChar}};
return (charString)};
for i = 1 to sizeOf (s) {
ttr = ttr + getCharEnt (s[i]);
};
if flinteractive {
if not wp.inTextMode () {
wp.setTextMode (true)};
wp.insert (ttr);
try { « finished chime
speaker.sound (1, 200, 8000);
speaker.sound (1, 200, 4000)}}
else {
return (ttr)}};
charEntities()
Go back to the main page for this script