Разделить текст обратной косой чертой \? - PullRequest
12 голосов
/ 25 апреля 2011

Я искал несколько часов. Как разделить строку на "\"

Мне нужно разделить HORSE \ COW на два слова и потерять обратную косую черту.

Ответы [ 3 ]

38 голосов
/ 25 апреля 2011
$array = explode("\\",$string);

Это даст вам массив, для "HORSE\COW" это даст $array[0] = "HORSE" и $array[1] = "COW""HORSE\COW\CHICKEN", $array[2] будет "CHICKEN"

Поскольку обратные слэши являются escape-символом, они должны быть экранированы другим обратным слэшем.

7 голосов
/ 25 апреля 2011

Вы должны использовать explode() и экранировать escape-символ (\).

$str = 'HORSE\COW';

$parts = explode('\\', $str);

var_dump($parts);

CodePad .

Выход

array(2) {
  [0]=>
  string(5) "HORSE"
  [1]=>
  string(3) "COW"
}
6 голосов
/ 25 апреля 2011

Всего explode() это:

$text = 'foo\bar';

print_r(explode('\\', $text)); // You have to backslash your
                               // backslash. It's used for
                               // escaping things, so you
                               // have to be careful when
                               // using it in strings.

Обратная косая черта используется для экранирования кавычек и обозначения специальных символов:

  • \n - новая строка.
  • \t является символом табуляции.
  • \" - кавычка. Вы должны избежать этого, иначе PHP будет читать это как конец строки.
  • \' То же самое касается одинарной кавычки.
  • \\ - это обратный слеш. Так как он используется для того, чтобы избежать других вещей, вы должны избежать этого. Вроде странно.
...