|
|
|
| Добрый день! Подскажите пожалуйста, как мне разбить строку на подстроки, к примеру символом пробела, мне нужна функция, которая возьмёт текст ДО строки, на подобии strstr, только наоборот :) | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 15:15)
| | То есть:
<?php
$text = "text1 text2";
$dir = ???($text, " ");
echo $dir; // выводит text1
?> | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 15:18)
| | Ничего тут не надо придумывать.. всё уже сделано за вас... Читаем документацию... функция -explode http://ru.php.net/manual/ru/function.explode.php | |
|
|
|
|
|
|
|
для: Роккер Руслан
(23.04.2012 в 15:24)
| | Проблема в том, что данная функция разбивает строку в массиве, а мне нужно чтобы осталась строка | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 16:20)
| | не понял, что не так то? | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 16:20)
| | $array = implode(' ',$test);
ну так $array[0] и будет то что Вам нужно. | |
|
|
|
|
|
|
|
для: Lotanaen
(23.04.2012 в 16:39)
| |
$array = implode(' ',$test);
ну так $array[0] и будет то что Вам нужно.
|
implode?))) | |
|
|
|
|
|
|
|
для: Роккер Руслан
(23.04.2012 в 16:44)
| | сорри, explode() ))) | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 16:20)
| | еще раз читаем документацию | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 16:20)
| | <?php
$text = "text1 text2";
$dir = explode(" ", $text);
echo $dir[0]; // выведет text1
echo $dir[1]; // выведет text2
что не так?
?> | |
|
|
|
|
|
|
|
для: Роккер Руслан
(23.04.2012 в 16:43)
| | Тут, чтобы обратиться к строке, нужно указать именно эту строку, а у меня количество строк будет разным, и каждая будет проверяться | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 16:51)
| | Я не понимаю в чем проблема)))) Тут даже возникает вопрос: и что? | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 16:51)
| | ..... | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 16:51)
| | foreach() | |
|
|
|
|
|
|
|
для: Киналь
(23.04.2012 в 17:07)
| | Вы так написали как будто это функция, которую ищет топикстартер))) | |
|
|
|
|
|
|
|
для: Роккер Руслан
(23.04.2012 в 17:09)
| | <?php
$mail = "user@example.com";
$domain = strstr($mail, "@");
echo $domain; // выводит @example.com, а нужно чтобы вывело user
?> | |
|
|
|
|
|
|
|
для: Роккер Руслан
(23.04.2012 в 17:09)
| | Краткость несколько подвела)) | |
|
|
|
|
|
|
|
для: Киналь
(23.04.2012 в 17:58)
| | В плане? | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 17:59)
| | Меня подвела.
Более подробно. Вам показали, как из вашей строки сделать массив; вам, по вашим словам, нужно проверить каждый элемент получившегося массива. Вот для этого и подойдёт конструкция foreach(). | |
|
|
|
|
|
|
|
для: Киналь
(23.04.2012 в 18:04)
| | У меня может быть 4 строки: один, два, три, четыре, а может 3: один, три, четыре
Как я смогу проверить это? Ведь в массиве только так: $arr[1] == "один", я конечно могу проверить сразу несколько вариантов в одном условии, но у меня и без того условие будет большим...
Хотя может я и туплю =/ | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 18:08)
| | Я вообще перестал что-либо понимать. Давайте с самого начала: какие у вас исходные данные и что вы хотите получить? | |
|
|
|
|
|
|
|
для: Киналь
(23.04.2012 в 18:15)
| | Есть форма textarea, в нее пользователь вводит несколько строк (разное количество), к примеру:
или:
начало
старт
середина
финал
конец
|
Нужно каждую стоку проверить на правильность написания, и если есть ошибки - вывести в какой строке ошибка. Количество строк будет варьироваться пока не знаю в каких пределах
Вот я и хотел функцией до перехода (\r\n) проверить каждую сроку, чтобы не разбивать в массиве | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 18:19)
| | >Вот я и хотел функцией до перехода (\r\n) проверить каждую сроку, чтобы не разбивать в массиве
А за что вы так не любите массивы? Описанная задача решается, например, так:
<?php
$text = $_POST['from_textarea']; // проверки, конечно, ну да для простоты
$words = explode($text, '\r\n');
foreach ($words as $key=>$word)
{
if (not check($word)) echo "Ошибка в слове номер $key<br>";
}
?>
|
| |
|
|
|
|
|
|
|
для: Киналь
(23.04.2012 в 18:29)
| | not check? Это что за конструкция такая? Впервые вижу, да и не работает она:
Parse error: syntax error, unexpected T_STRING
Я не очень понимаю foreach, потому у меня всё тупо на ифах... | |
|
|
|
|
|
|
|
для: Electron
(24.04.2012 в 19:08)
| | check() — это ваша функция, которой вы проверяете слова:
> Нужно каждую стоку проверить на правильность написания
Foreach() — это базовая конструкция языка, разберитесь с ней. | |
|
|
|
|
|
|
|
для: Киналь
(24.04.2012 в 20:42)
| | Ну а в чём прикол то?
if ($word == "первое") {
echo "Ошибка в слове номер $key<br>";
}
if ($word == "второе") {
echo "Ошибка в слове номер $key<br>";
}
??? Получается строка... | |
|
|
|
|
|
|
|
для: Electron
(25.04.2012 в 13:24)
| | Приколане вижу. Да и кода этого вашего совсем не понял. Что вы им хотите сделать? | |
|
|
|
|
|
|
|
для: Electron
(23.04.2012 в 18:08)
| | explode возвращает массив и вы по этому массиву проходитесь foreach - ем
[поправлено модератором] | |
|
|
|