cpp-Demo for ReplaceAll / Convert Chars to HTML-Entity's
Posted: 09 Feb 2010 03:12
Updated 2010-03-10
Some more Special chars added
Updated 2010-02-12
New in this version:
If part of the Document is selected then only replace inside the selection, else in the whole document.
Updated 2010-06-08
Code for 'ß' addet.
Some more Special chars added
Updated 2010-02-12
New in this version:
If part of the Document is selected then only replace inside the selection, else in the whole document.
Updated 2010-06-08
Code for 'ß' addet.
Code: Select all
/*=======================================================*/
/*== C++ - Script for RJTextEd ==*/
/*==---------------------------------------------------==*/
/*== Replace chars with html-entity ==*/
/*==---------------------------------------------------==*/
/*== Author : Walti Zubler, www.zubleredv.ch ==*/
/*== Version : 2010-02-12 Version 2.0 ==*/
/*== : 2010-06-08 Version 2.1 ==*/
/*=======================================================*/
// Global variables
WideString s;
string char_table[50][2]; // Enlarge if more conversations than 50
int xchar = 0, entity = 1; // Index to Array for better readabilty
void gen_table()
{
int i = 0;
// German specials
char_table[i][xchar] = "ä"; char_table[i][entity] = "ä"; i++;
char_table[i][xchar] = "ö"; char_table[i][entity] = "ö"; i++;
char_table[i][xchar] = "ü"; char_table[i][entity] = "ü"; i++;
char_table[i][xchar] = "Ä"; char_table[i][entity] = "Ä"; i++;
char_table[i][xchar] = "Ö"; char_table[i][entity] = "Ö"; i++;
char_table[i][xchar] = "Ü"; char_table[i][entity] = "Ü"; i++;
char_table[i][xchar] = "ß"; char_table[i][entity] = "ß"; i++;
// French specials
char_table[i][xchar] = "è"; char_table[i][entity] = "è"; i++;
char_table[i][xchar] = "é"; char_table[i][entity] = "é"; i++;
char_table[i][xchar] = "Ã "; char_table[i][entity] = "à"; i++;
char_table[i][xchar] = "á"; char_table[i][entity] = "á"; i++;
char_table[i][xchar] = "â"; char_table[i][entity] = "â"; i++;
char_table[i][xchar] = "ç"; char_table[i][entity] = "ç"; i++;
// Money
char_table[i][xchar] = "€"; char_table[i][entity] = "€"; i++;
char_table[i][xchar] = "¢"; char_table[i][entity] = "¢"; i++;
char_table[i][xchar] = "£"; char_table[i][entity] = "£"; i++;
// Mathe
char_table[i][xchar] = "²"; char_table[i][entity] = "²"; i++;
char_table[i][xchar] = "±"; char_table[i][entity] = "±"; i++;
char_table[i][xchar] = "½"; char_table[i][entity] = "½"; i++;
char_table[i][xchar] = "¼"; char_table[i][entity] = "¼"; i++;
// others
char_table[i][xchar] = "©"; char_table[i][entity] = "©"; i++;
char_table[i][xchar] = "®"; char_table[i][entity] = "®"; i++;
char_table[i][xchar] = "â„¢"; char_table[i][entity] = "™"; i++;
char_table[i][xchar] = "§"; char_table[i][entity] = "§"; i++;
char_table[i][xchar] = "°"; char_table[i][entity] = "°"; i++;
char_table[i][xchar] = "¶"; char_table[i][entity] = "¶"; i++;
// Mark end of table
char_table[i][xchar] = NULL; char_table[i][entity] = NULL;
}
// Start-Code
{
int i = 0;
gen_table();
s = Document.SelText;
if (s == "")
{
Document.SelectAll;
s = Document.SelText;
}
if (s > "")
{
while (char_table[i][xchar] != NULL)
{
s = ScriptUtils.WstringReplaceAll(s,char_table[i][xchar],char_table[i][entity]);
i++;
}
Document.SelText = s;
}
}