![]() |
Модераторы: skyboy, MoLeX, Aliance, ksnk |
![]() ![]() ![]() |
|
Emm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 14.7.2007 Репутация: нет Всего: 1 |
Привет.
Пишу очень банальный скрипт, что-то вроде пародии на админку ![]() проблема в том, что эта хрень для статического сайта, в котором необходимо редактировать простые html-ки (на каждой странице по несколько блоков текста), с парсингом всего уже разобрался... сделал так... на странице, каждый блок который подлежит редактированию, отметил маркером типа <!--begin[1]--> содержимое <!--end[1]--> потом с помощью preg_match_all регуляркой изымаю содержимое между маркеров... далее кладу в текстарию где можно редактировать, но после, нужно все это записать туда же, между тех самых маркеров, заменив то что там есть, на новое, и тут я затрудняюсь в продолжении.... каким способом можно записать? |
|||
|
||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: нет Всего: 16 |
preg_replace()?
кстати, а зачем вначале preg_match_all? просто preg_match недостаточно? |
|||
|
||||
CyClon |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 838 Регистрация: 3.12.2005 Репутация: нет Всего: 4 |
preg_match заканчивает свою работу после нахождения первого совпадения. Блоков много, поэтому он не катит, как правило. Вообще не вижу смысла редактировать поблочно, грузанул страницу и вауля ![]() ЗЫ: Чтоб чем-то помочь, нужен исходный код. Ибо решать проблему можно множеством разных способов, которые зависят от реализации чтения/редактирования твоих блоков. |
|||
|
||||
Emm |
|
||||||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 14.7.2007 Репутация: нет Всего: 1 |
спасибо, все работает... заменяю все той же регуляркой, и записываю с помощью file_put_contents, и вот интересно.. я слышал что если юзать fopen>fwrite>fclose то бывают случайные сбои и нифига не записывается, вобще файл обнуляется, а как в случае с file_put_contents, такое тоже возможно?
угу.
![]() ![]() ага еще вспомнил, я использую аякс в админке, чтобы небыло лишних перезагрузок, а также хочу добавить какой-нить редактор вроде RTE, пробую его интегрировать, а вот при подгрузке блока с формой - RTE не воспроизводится, дело в том что часть его JS кода передается аяксом, как это можно исправить, или может есть что-то получше? |
||||||
|
|||||||
GeneralElectric |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 797 Регистрация: 11.1.2008 Репутация: нет Всего: 16 |
физически работа file_put_contents ничем не отличается от fopen>fwrite>fclose другое дело, что никаких "случайных сбоев" в природе не существует. Если бы существовали, то мы бы с тобой сейчас не общались на этом форуме - его база бы "случайно билась". Ты, наверное, слышал о проблемах при конкурентной перезаписи в отсуствие блокировки. Ну так я тебя успокою: поскольку праквить новость может только один человек, то никаких "случайных сбоев" не будет. Сразу предупреждая немедленный теоретический вопрос №а если будут править двое???" - отвечаю: тоже ничего страшного не произойдет. |
|||
|
||||
Emm |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 35 Регистрация: 14.7.2007 Репутация: нет Всего: 1 |
![]() сомневаюсь что править будут одновременно много народа, т.к эта хрень для сайта визитки с 5-10 страницами, на которого лень нагружать громадную ЦМСку ![]() |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | PHP: Для профи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |