我想用引号替换无效的UTF-8字符(PHP 5.3.5).
到目前为止,我有这个解决方案,但删除了无效字符,而不是被'?'取代.
function replace_invalid_utf8($str)
{
return mb_convert_encoding($str, 'UTF-8', 'UTF-8');
}
echo mb_substitute_character()."\n";
echo replace_invalid_utf8('éééaaaàààeeé')."\n";
echo replace_invalid_utf8('eeeaaaaaaeeé')."\n";
Run Code Online (Sandbox Code Playgroud)
应输出:
63 // ASCII code for '?' character
???aaa???eé // or ??aa??eé
eeeaaaaaaeeé
Run Code Online (Sandbox Code Playgroud)
但目前产出:
63
aaaee // removed invalid characters
eeeaaaaaaeeé
Run Code Online (Sandbox Code Playgroud)
有什么建议?
你会用另一种方式(preg_replace()例如使用?)
谢谢.
我有以下代码不能使用UTF-8字符.我该如何解决?
$seed = preg_split('//u', $seed, -1, PREG_SPLIT_NO_EMPTY);
$seed = str_split('????????'); // and any other characters
shuffle($seed); // probably optional since array_is randomized; this may be redundant
$code = '';
foreach (array_rand($seed, 5) as $k) $md5_hash .= $seed[$k];
//We don't need a 32 character long string so we trim it down to 5
$security_code = $code;
Run Code Online (Sandbox Code Playgroud)
我试过这段代码:
$seed = preg_split('//u', $seed, -1, PREG_SPLIT_NO_EMPTY);
Run Code Online (Sandbox Code Playgroud)
但它仍然无法正常工作.
我有一个字符串,如何将其转换为数组?
操作该数组后,如何再次将其变为字符串?
PHP中的字符串是否与Java中的字符串相同?
这有什么骗局?