2

How to get 8 first and last from php var (utf-8) ?

I tried this code but not show 8 first and last.

<?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;
?>

How can i do that ?

mongmong seesee
  • 987
  • 1
  • 13
  • 24

2 Answers2

1

Try to do this:

$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;
Firas Rassas
  • 509
  • 4
  • 12
1

You can try using mb_substr instead, as it supports multi-byte strings:

$first_8_char_file_name_display = mbsubstr($file_name, 0, 8);
$last_8_char_file_name_display = mbsubstr($file_name, -8);

For single-byte strings (e.g. US-ASCII, ISO 8859 family, etc.) use substr.

For multi-byte strings (e.g. UTF-8, UTF-16, etc.) use mb_substr

Referenced from How to get first 5 characters from string.

Hope this helps, thanks!

Community
  • 1
  • 1
Panda
  • 6,955
  • 6
  • 40
  • 55