Как разделить строку специальным символом (�) с помощью php

В настоящее время я пытаюсь разделить � специальный символ, который представляет %A0 в URL-адресе. Однако, когда я использую другой URL-адрес, он не распознает %A0, поэтому мне нужно использовать %20, который является стандартным пространством.

У меня такой вопрос. Есть ли способ использовать специальный символ explode() �? Всякий раз, когда я пытаюсь взорваться, он всегда возвращает единственный массив индексов с массивом длины 1.

  //Tried str_replace() to replace %A0 to empty string. Didn't work
  $a = str_replace("%A0"," ", $_GET['view']);

  // Tried to explode() but still returning single element
  $b = explode("�", $a);

  // Returning Array[0] => "Hello World" insteand of 
  // Array[2] => [0] => "Hello", [1] => "World"
  echo $b[0];

Смотрите здесь 3v4l.org/0o1XJ, он работает нормально

Always Sunny 13.09.2018 18:37
0
1
378
1

Ответы 1

Взгляните на mb_split:

array mb_split ( string $pattern , string $string [, int $limit = -1 ] )

Split a multibyte string using regular expression pattern and returns the result as an array.

Нравится:

$string = "a�b�k�e";
$chunks = mb_split("�", $string);
print_r($chunks);

Выходы:

Array
(
    [0] => a
    [1] => b
    [2] => k
    [3] => e
)

Другие вопросы по теме