![]() |
|
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]()
|
|
| delphi_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 30.11.2006 Репутация: нет Всего: -1 |
есть вот такая вот задача-мне нужно из многострочной TEXTAREA вводить данные в office xml файл в первозданном виде-то есть тоже многострочно
вопрос вот в чем - новая строка там задается вот так вот -
сл-но,для добавления одной строки мне нужно 1) найти ее начало,для записи тегов до текста 2) найти ее конец и закрыть теги вопрос - как? как распарсить textarea и найти начало и конец строк?там веть есть еще и вирт. и физич. методы переноса строк... конечно,проще понапихать много текстбоксов - дабы не париться с разбором-но это неудобно. textarea гораздо удобнее |
|||
|
||||
| Warpkid |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 26.4.2008 Репутация: 3 Всего: 3 |
сделай explode по "\n", получишь массив из строк
то бишь:
Это сообщение отредактировал(а) Warpkid - 25.11.2010, 17:59 |
|||
|
||||
| delphi_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 30.11.2006 Репутация: нет Всего: -1 |
спасибо
а как такую конструкцию впихнуть в preg_replace ? мне нужно заменять какую-то фразу на эти новые строки (фраза указывает в xml документе куда текст ставить-этакий маркер) $source = preg_replace( '/\\bREPORT\\b/', convert_($_POST['REPORT']), $source ); функция convert_ => конвертирует разные кодировки с cp1251 в utf что-то я себе слабо это представляю |
|||
|
||||
| Warpkid |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 26.4.2008 Репутация: 3 Всего: 3 |
ну т.е. есть допустим фраза test и вместо нее надо поставить новые строки?
|
||||
|
|||||
| delphi_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 30.11.2006 Репутация: нет Всего: -1 |
нет нет,лучше покажу картиной
![]() идея в чем - val1 это маркер для замена регулярками. на картинке - исходное и нужное состояние ячейки таблицы как мне этот val заменить на эти вот строки.считать результат эксплоуда в переменную? то-есть как мне применить написанный вами код для preg_replace ? Добавлено через 11 минут сделал,не нужно.добавляет почему то опять все в строку.буду ковырять.спасибо Это сообщение отредактировал(а) delphi_ - 25.11.2010, 18:29 |
|||
|
||||
| Warpkid |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 26.4.2008 Репутация: 3 Всего: 3 |
А ну,
На выходе из цикла в $str будут все преобразованные строки и потом просто
Ну функцию convert_ я не знаю когда лучше применить - до экплода или в preg_replace |
||||
|
|||||
| delphi_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 30.11.2006 Репутация: нет Всего: -1 |
====
Это сообщение отредактировал(а) delphi_ - 25.11.2010, 19:08 |
|||
|
||||
| Warpkid |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 26.4.2008 Репутация: 3 Всего: 3 |
Надо смотреть код самой страницы, ибо xml состоит из тегов, которые браузер обычно не отображает.
И preg_replace надо делать после цикла.
|
|||
|
||||
| delphi_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 30.11.2006 Репутация: нет Всего: -1 |
ага,я тоже заметил что цикл не правилен
сделал вот такое для теста,с выводом xml сделал в textarea 3 строки для наглядности __________________1 __________________2 __________________3
и вот что мне он выдал О-о одно и тоже дублируется по несколько раз.это как? http://s015.radikal.ru/i331/1011/0f/ef70d2714176.png |
|||
|
||||
| Warpkid |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 26.4.2008 Репутация: 3 Всего: 3 |
Ну так правильно, мой цикл - правильный, а твой - нет.
найди отличия между моим:
и твоим:
В твоем коде вывод в цикле, соответственно эхо отрабатывает 3 раза. |
||||
|
|||||
| delphi_ |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 30.11.2006 Репутация: нет Всего: -1 |
исправлено,надо мне спать :((((
Это сообщение отредактировал(а) delphi_ - 25.11.2010, 20:52 |
|||
|
||||
| delphi_ |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 30.11.2006 Репутация: нет Всего: -1 |
появилась еще одна проблема.если задавать руками в коде имя поля-все ок $a='text1'; .если передать через функцию blahblah('text1') -скрипт бодро пишет good но на самом деле делает черте что-текст замещает,но каким-то странным кодом
вот финальный код он работает
а вот так вот в функцию - так не работает
почему такое может быть ? О_о толи я слепой,толи я что-то не так делаю... Это сообщение отредактировал(а) delphi_ - 26.11.2010, 19:38 |
||||
|
|||||
| Warpkid |
|
||||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 26.4.2008 Репутация: 3 Всего: 3 |
Строка 7:
что здесь делает $_POST? Должен быть аргумент функции - $a :
Хотя конечно не факт, что это из-за этого, на что хоть заменяет код? |
||||
|
|||||
| delphi_ |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 140 Регистрация: 30.11.2006 Репутация: нет Всего: -1 |
чет я не совсем понял что не так то..)
$links = explode("\n",convert_($_POST["{$a}"])); например вызываем функцию TEXT_('text1'); тоесть в скобках и есть $a... так как данные передаются через форму,то это потмо скармливается $_POST
в скобках для функции я передаю имя textarea таких area довольно много,чтобы потом можно было сделать через цикл для кучи полей
Это сообщение отредактировал(а) delphi_ - 26.11.2010, 20:11 |
||||
|
|||||
| Warpkid |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 49 Регистрация: 26.4.2008 Репутация: 3 Всего: 3 |
Не так то, что так делать не грамотно. Функция должна не зависеть от того, как ты передаешь ей данные, если вдруг понадобится POST заменить на GET, или текст вообще будет браться не из формы?
|
|||
|
||||
![]()
|
| Правила форума "PHP" | |
|
|
Новичкам:
Важно:
Внимание:
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | PHP: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |