相关疑难解决方法(0)

用问号替换无效的UTF-8字符,mbstring.substitute_character似乎被忽略了

我想用引号替换无效的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()例如使用?)

谢谢.

php utf-8 character-encoding mbstring

5
推荐指数
1
解决办法
2万
查看次数

PHP:如何拆分UTF-8字符串?

我有以下代码不能使用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 string split utf-8 preg-split

5
推荐指数
2
解决办法
5689
查看次数

String to Array和Back

我有一个字符串,如何将其转换为数组?

操作该数组后,如何再次将其变为字符串?

PHP中的字符串是否与Java中的字符串相同?

这有什么骗局?

php arrays string

0
推荐指数
2
解决办法
4399
查看次数

标签 统计

php ×3

string ×2

utf-8 ×2

arrays ×1

character-encoding ×1

mbstring ×1

preg-split ×1

split ×1