Unfortunately, this seems to slow down my script considerably.
Any suggestions?
(FYI, WITHOUT this function, my script imports 70,000 records per minute; with the function included, it imports only 2,000 records per minute).
Code: Select all
<?php
function fn_character_map($source_text)
{
// Subsitutes standard characters for the accented and other special characters.
// There are 321 source and replacement strings, in an array.
$map_from = array
(
"", "–", "—", "€", "‚", "ƒ", "„", "…", "†", "‡", "ˆ", "‰", "Š", "‹",
"Œ", "Ž", "‘", "’", "“", "”", "•", "–", "—", "˜", "™", "š", "›",
"œ", "ž", "Ÿ", "¡", "¢", "£", "¤", "¥", "¦", "§", "¨", "©", "ª",
"«", "¬", "­", "®", "¯", "°", "±", "²", "³", "´", "µ", "¶", "·",
"¸", "¹", "º", "»", "¼", "½", "¾", "¿", "À", "Á", "Â", "Ã", "Ä",
"Å", "Æ", "Ç", "È", "É", "Ê", "Ë", "Ì", "Í", "Î", "Ï", "Ð", "Ñ",
"Ò", "Ó", "Ô", "Õ", "Ö", "×", "Ø", "Ù", "Ú", "Û", "Ü", "Ý", "Þ",
"ß", "à", "á", "â", "ã", "ä", "å", "æ", "ç", "è", "é", "ê", "ë",
"ì", "í", "î", "ï", "ð", "ñ", "ò", "ó", "ô", "õ", "ö", "÷", "ø",
"ù", "ú", "û", "ü", "ý", "þ", "ÿ", "Á", "á", "Â", "â", "Æ",
"æ", "À", "à", "Å", "å", "Ã", "ã", "Ä", "ä", "„", "Ç",
"ç", "¸", "ˆ", "É", "é", "Ê", "ê", "È", "è", "Ð", "ð",
"Ë", "ë", "ƒ", "Í", "í", "Î", "î", "¡", "Ì", "ì", "¿",
"Ï", "ï", "«", "“", "‘", "¯", "¬", "Ñ", "ñ", "Ó", "ó",
"Ô", "ô", "Œ", "œ", "Ò", "ò", "ª", "º", "Õ", "õ", "Ö",
"ö", "¶", "»", "”", "›", "’", "‚", "Š", "š", "Ú", "ú",
"Û", "û", "Ù", "ù", "Ü", "ü", "Ý", "ý", "ÿ", "ÿ", "ˆ", "¡", "¦",
"¨", "¯", "´", "¸", "¿", "˜", "‘", "’", "‚", "“", "”", "„", "‹", "›", "±", "«", "»", "×", "÷", "¢", "£", "¤", "¥", "§", "©",
"¬", "®", "°", "µ", "¶", "•", "†", "‡", "•", "…", "‰", "€", "¼", "½", "¾", "¹", "²", "³", "ª", "Á", "á", "À", "à", "Â", "â",
"Ä", "ä", "Ã", "ã", "Å", "å", "Ç", "ç", "Ð", "ð", "É", "é", "È", "è", "Ê", "ê", "Ë", "ë", "ƒ", "Í", "í", "Ì", "ì", "Î", "î",
"Ï", "ï", "Ñ", "ñ", "º", "Ó", "ó", "Ò", "ò", "Ô", "ô", "Ö", "ö", "Õ", "õ", "Ø", "ø", "Š", "š", "ß", "Þ", "þ", "™", "Ú", "ú",
"Ù", "ù", "Û", "û", "Ü", "ü", "Ý", "ý", "Ÿ", "ÿ", "Ž", "ž"
);
$map_to = array
(
"­", "–", "—", "€", "", "", """, "…", "†", "‡", "^", "‰", "S",
"‹", "OE", "Z", "'", "'", """, """, "•", "–", "—", "˜", "™",
"s", "'", "oe", "z", "Y", "", "¢", "£", "¤", "¥", "¦", "§", "¨", "©",
"a", """, "", "­", "®", "", "°", "±", "²", "³", "´", "µ", "", "·",
"", "¹", "°", """, "¼", "½", "¾", "", "A", "A", "A", "A", "A", "A", "AE", "C", "E",
"E", "E", "E", "I", "I", "I", "I", "D", "N", "O", "O", "O", "O", "O", "×", "Ø", "U", "U", "U", "U", "Y",
"Þ", "ß", "a", "a", "a", "a", "a", "a", "ae", "c", "e", "e", "e", "e", "i", "i", "i", "i", "o", "n", "o",
"o", "o", "o", "o", "÷", "ø", "u", "u", "u", "u", "y", "þ", "y", "A", "a", "A", "a", "AE", "ae",
"A", "a", "A", "a", "A", "a", "A", "a", """, "C", "c", "", "^", "E", "e", "E", "e", "E", "e", "D", "o", "E", "e",
"", "I", "i", "I", "i", "", "I", "i", "", "I", "i", """, """, "'", "", "", "N", "n", "O", "o", "O", "o",
"OE", "oe", "O", "o", "a", "°", "O", "o", "O", "o", "", """, """, "'", "'", "", "S", "s", "U",
"u", "U", "u", "U", "u", "U", "u", "Y", "y", "Y", "y", "^", "", "¦", "¨", "", "´", "", "", "˜",
"'", "'", "", """, """, """, "‹", "'", "±", """, """, "×",
"÷", "¢", "£", "¤", "¥", "§", "©", "", "®", "°", "µ", "",
"·", "†", "‡", "•", "…", "‰", "€", "¼", "½", "¾",
"¹", "²", "³", "a", "A", "a", "A", "a", "A", "a", "A", "a", "A", "a", "A", "a", "C", "c", "D", "o",
"E", "e", "E", "e", "E", "e", "E", "e", "", "I", "i", "I", "i", "I", "i", "I", "i", "N", "n", "°", "O", "o",
"O", "o", "O", "o", "O", "o", "O", "o", "Ø", "ø", "S", "s", "ß", "Þ", "þ",
"™", "U", "u", "U", "u", "U", "u", "U", "u", "Y", "y", "Y", "y", "Z", "z"
);
return str_replace($map_from, $map_to, $source_text);
}
?>