|
|
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
Есть строка, которую надо разбить на подстроки, но вот я только не знаю как правильнее реализовать данную задачу... Код: plaintext Как правильно разбить данную строку на подстроки, чтобы строки заключенные в кавычки не разбивались. Также желательно сделать, чтобы \' работала нармально и ее можно было употреблять в этом блоке... Подскажите, какие есть методы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 22:58 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
Если блоки отделены друг от друга одинаковым разделителем юзайте функцию explode() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 23:24 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
explode не пойдёт, прочитайте про дополнительное требование. Думаю, можно написать подходящий шаблон для preg_split. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.02.2006, 23:28 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
Пробовал, но у меня не получилось... Ведь надо чтобы по пробелу не разделялось, если он находится внутри одинарных кавычек... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2006, 00:10 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
DamnedestЕсть строка, которую надо разбить на подстроки, но вот я только не знаю как правильнее реализовать данную задачу... Код: plaintext Как правильно разбить данную строку на подстроки, чтобы строки заключенные в кавычки не разбивались. Также желательно сделать, чтобы \' работала нармально и ее можно было употреблять в этом блоке... Подскажите, какие есть методы? А если поробовать такой алгоритм: 1 - Подсчитать на каких позициях находится > пробел + ' < 2 - Удалить из исходной строки то, что в одинарных кавычках, записывая в массив. 3 - Разбить новую строку на состовляющие в другой массив. 4 - А потом пересчетом все это вывести эхолотом. На мой взгляд вывод будет состоять из классических вложенных двух циклов, ну может трех, но не больше... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2006, 00:24 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
OlympicoА если поробовать такой алгоритм: 1 - Подсчитать на каких позициях находится > пробел + ' < 2 - Удалить из исходной строки то, что в одинарных кавычках, записывая в массив. 3 - Разбить новую строку на состовляющие в другой массив. 4 - А потом пересчетом все это вывести эхолотом. На мой взгляд вывод будет состоять из классических вложенных двух циклов, ну может трех, но не больше... Хм, а как определять кавычки? Как разбираться с вот такими вот комбинациями ('123 Блок \\')? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2006, 00:44 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
Damnedest OlympicoА если поробовать такой алгоритм: 1 - Подсчитать на каких позициях находится > пробел + ' < 2 - Удалить из исходной строки то, что в одинарных кавычках, записывая в массив. 3 - Разбить новую строку на состовляющие в другой массив. 4 - А потом пересчетом все это вывести эхолотом. На мой взгляд вывод будет состоять из классических вложенных двух циклов, ну может трех, но не больше... Хм, а как определять кавычки? Как разбираться с вот такими вот комбинациями ('123 Блок \\')? У тебя открытием условия должны быть пробел+кавычка, а дальше проверяешь момент закрытия...Все, что я могу тебе предложить это алгоритмы, а не саи функции, я их сам не знаю...когда что-то нужно ищу в мануале согласно выробатоному алгоритму...сначала напиши алгоритм работы твоего обработчика... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2006, 01:56 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
Напиши приблезительную строку-пример, а потом поставь курсор в ее начало и стрелкой управления в право, на клавиатуре, в ручном режиме перемещай курсор и продумывай за него все действия, это и будет твой алгоритм. "Прояви же красивое терпение" (Сура Ступени, аят 5) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2006, 02:01 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
Olympico[quot Damnedest] А если поробовать такой алгоритм<...> Согласен, задачка - из курса информатики. По моему, укрупнённый алгоритм таков. Ползёшь по строчке, пока не кончится. Посимвольно аккумулируешь. При каждом нахождении пробела - пишешь аккумулятор в следующий элемент массива и сбрасываешь его. При нахождении апострофа, но не закомментированного апострофа - перестаёшь сбрасывать аккумулятор в элемент при нахождении пробела. При следующейм нахождении апострофа, но не закомментированного апострофа - сбрасываешь аккумулятор в элемент массива и снова начинаешь сбрасывать аккумулятор в элемент. Написать шаблон для preg_split, конечно, можно, но по-моему это намного сложнее... Хотя "изящнее". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2006, 10:14 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
Всем большое спасибо за помощь... просто думал, что можно реализовать данную функцию при помощи регулярных выражений. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2006, 12:02 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
* php.net/fgetcsv И все таки почитайте эту ссылку ... уж больно напоминает структуру csv... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2006, 12:53 |
|
||
|
[PHP] разбиение на подстроки
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. Спасибо большое. Вот что я нашел... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 07.02.2006, 14:29 |
|
||
|
|

start [/forum/topic.php?fid=23&msg=33527224&tid=1476813]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
183ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
29ms |
get tp. blocked users: |
1ms |
| others: | 239ms |
| total: | 492ms |

| 0 / 0 |
