У меня есть текст $a = "коля ишел гулять но не дошел"; я хочу из каждого слова сделать массив, то есть с помощу функции explode $c = explode (" ",$a); То есть я хочу чтобы каждое слово было в массиве, но из за того что текст который в перменной начинается с новой строке он без проблема, то есть ишелгулять, недошел,и вот я хочу между ими пробелы поставить но не выходит. вручную не чего нельзя ( текст поправить или еще что то ) все на php
PHP: $a = "коля шел гулять но не дошел"; print_r($keywords = preg_split("/[\s]+/", $a)); Код (Text): Array ( [0] => коля [1] => шел [2] => гулять [3] => но [4] => не [5] => дошел )
Спасибо --- Добавлено --- Не понимаю чего, но в этом массиве большая буква Р отображается как знак вопроса �, с маленькой р и со всеми другими буквами все в порядке --- Добавлено --- Не понимаю чего, но в этом массиве большая буква Р отображается как знак вопроса �, с маленькой р и со а нет оказывается и маленькие "р" они просто не показываются, как это возможно? ВСЕ символы нормально показываются кроме буквы р
@drakonik999, во-первых, лишнюю работу делаете, удаляя в цикле точки и запятые. Добавьте их при разбиении: PHP: $keywords = preg_split("/[\s,.]+/", $a, -1, PREG_SPLIT_NO_EMPTY); А во-вторых, у вас что-то с кодировкой. Бредово звучит, но попробуйте добавить модификатор u PHP: $keywords = preg_split("/[\s,.]+/u", $a, -1, PREG_SPLIT_NO_EMPTY); --- Добавлено --- Куда я попал? Это случайно не клуб "Голубая устрица"?
А хрен его знает )) Такое ощущение, что буква "Р" в одной кодировке, а остальной текст - в другой. Может это вовсе не буква "Р", а какой-нибудь трёхбайтовый иероглиф