John Taylor-Johnston wrote:
Can someone show me how to get rid of international characters in
$string? Is there a function already made?
the acute/grave accents on the chars are called 'diacritics'
You cannot use accented characters in a name reference : <a
name="montr�al">.
I guess this below is a start. Is there a better way?
John
http://ca.php.net/manual/en/function.str-replace.php
$string = "�����";
|$find = array("�", "�", "�", "�", "�");
||$||replacewith|| = array("a", "a", "e", "e", "c");||
||||$onlyconsonants = str_replace($vowels, $replacewith, $string);
<?php
// you could do something like:
function getUndiacritical($word)
{
$base_drop_char_match = array('^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '-',
'~', '+', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '#', '\'', ';', '!');
$base_drop_char_replace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', '', '', ' ', ' ', ' ', ' ', '', ' ', ' ', '', '
', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' , ' ', ' ', ' ', ' ', ' ', ' ');
$xtr_drop_char_match = array('�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�',
'�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�');
$xtr_drop_char_replace = array('a', 'a', 'a', 'a', 'e', 'e', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 's', 'a', 'a',
'a', 'c', 'e', 'e', 'i', 'i', 'n', 'o', 'o', 'u', 'u', 'y', 'y');
$drop_char_match = array_merge( $base_drop_char_match, $xtr_drop_char_match );
$drop_char_replace = array_merge( $base_drop_char_replace,
$xtr_drop_char_replace );
return str_replace($drop_char_match, $drop_char_replace, $word);
}
// alternatively
function getUndiacritical2($word)
{
$base_drop_char_match = array('^', '$', '&', '(', ')', '<', '>', '`', '\'', '"', '|', ',', '@', '_', '?', '%', '-',
'~', '+', '.', '[', ']', '{', '}', ':', '\\', '/', '=', '#', '\'', ';', '!');
$base_drop_char_replace = array(' ', ' ', ' ', ' ', ' ', ' ', ' ', '', '', ' ', ' ', ' ', ' ', '', ' ', ' ', '', '
', ' ', ' ', ' ', ' ', ' ', ' ', ' ', ' ' , ' ', ' ', ' ', ' ', ' ', ' ');
$xtr_drop_char_match = array('�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�',
'�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�', '�');
$xtr_drop_char_replace = array('a', 'a', 'a', 'a', 'e', 'e', 'i', 'i', 'o', 'o', 'o', 'o', 'o', 'u', 'u', 's', 'a', 'a',
'a', 'c', 'e', 'e', 'i', 'i', 'n', 'o', 'o', 'u', 'u', 'y', 'y');
$drop_char_match = join('',array_merge( $base_drop_char_match,
$xtr_drop_char_match ));
$drop_char_replace = join('',array_merge( $base_drop_char_replace,
$xtr_drop_char_replace ));
return strtr($drop_char_match, $drop_char_replace, $word);
}
?>
I doubt either of these funcs is perfect but it hopefully gives you a clue in
the right
redirection.
rgds,
Jochem
|
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php