如何从php var(utf-8)获得第一个和最后一个8?
我尝试了这段代码,但没有首先显示8位。
<?PHP
$file_name= "Μια φορά κι έναν καιρό";
$first_8_char_file_name_display = mb_substr($file_name, 0, 8, "utf-8");
$last_8_char_file_name_display = mb_substr($file_name ,-8, "utf-8");
echo $first_8_char_file_name_display;
echo "<BR>";
echo $last_8_char_file_name_display;
?>
我该怎么做?
答案 0 :(得分:1)
尝试这样做:
$file_name= "Μια φορά κι έναν καιρό";
$from = strlen($file_name)/2-6;
$first_8_char_file_name_display = mb_substr($file_name, 0, 8,"utf-8");
$last_8_char_file_name_display = mb_substr($file_name, $from, 8,"utf-8");
echo $from;
echo "<br/>";
echo $first_8_char_file_name_display;
echo "<br/>";
echo $last_8_char_file_name_display;
答案 1 :(得分:1)
您可以尝试使用mb_substr
,因为它支持多字节字符串:
$first_8_char_file_name_display = mbsubstr($file_name, 0, 8);
$last_8_char_file_name_display = mbsubstr($file_name, -8);
对于single-byte strings(例如US-ASCII,ISO 8859系列等),请使用substr
。
multi-byte strings(例如UTF-8,UTF-16等)使用mb_substr
引自How to get first 5 characters from string。
希望这有帮助,谢谢!