1 | ||||||||||||||||
Замена програмно куска кода в файле .php другим куском кода27.11.2014, 14:05. Просмотров 1789. Ответов 6
Метки нет Все метки)
(
Мне необходимо програмно заменить кусок кода в файле .php
Есть файл .php, в котором надо заменить кусок кода другим куском кода. Для этого я использую функци file_get_contents(), strtr() и file_put_contents(), которые в принципе нормально справляются. Но есть одна проблема. Кусок кода, который надо заменить, надо "подать" функции strtr() в виде строки (string). Если кусок кода не содержит знаков, которые надо экранировать с помощью обратного слеша, то все нормально. Но если есть знаки, которые надо экранировать, то тут возникают проблемы. Чтобы код подать в виде строки, надо его преобразовать в строку. Например: код
Проблема еще усугубляется тем, что кусок кода не в одну строку. Например:
Может есть в PHP функции, которые помогут решить эту проблему?
0
|
|
27.11.2014, 14:05 | |
Автоматическая BATCH-замена в Аски файле одного куска текста другим Замена кода в файле средствами PHP Перевод куска кода с php на С#
|
|
32 / 32 / 5
Регистрация: 15.11.2010
Сообщений: 166
|
||||||
27.11.2014, 14:32 | 2 | |||||
А если так:
0
|
27.11.2014, 15:13 [ТС] | 3 | ||||||||||||||||||||
Более детально пояснюю
Указанные выше функции меняют одну строку на другую. Им не важно как они написаны, с двойными кавычками или с одинарными. Они делают свое дело. Но после того, как одна строка будет заменена на другую, она внезапно, становится не строкой, а кодом в PHP. Кроме кавычек, есть еще и другие знаки, которые надо экранировать. В итоге, строка, преобразованная в код, получается, что код НЕ ПРАВИЛЬНЫЙ, или строка изначально не в том виде, чтобы ее можно было найти в файле и поменять. Одну строку с фала вытягивает функция и я ее не вижу какая она, а вторую я сам прописываю, как указал. Если функция вытянула строку в виде
Вот в этом то и проблема.
0
|
32 / 32 / 5
Регистрация: 15.11.2010
Сообщений: 166
|
|
27.11.2014, 15:35 | 4 |
Посмотрите результат функци file_get_contents(). Там не могут быть переменные.
Там их значения. Вы пытаетесь спарсить PHP-код??? Это не возможно.
0
|
27.11.2014, 15:47 [ТС] | 5 | ||||||||||
К сожалению, Вы не правы.
Часть кода, где не надо делать экранирование, у меня с упехом заменяется. А вот где есть экранирование, возникают проблемы. Опять же. Тот код, который мы обсуждаем
Просто я не стал приводить (есть в начале) более большой кусок кода, который надо менять. так как дело в принципе, а не в размере кода. Добавлено через 3 минуты Приведу пример: вот этот код в виде строки
Функция легко его находит и заменяет дургим моим кодом (тут не привожу. не зачем). Но, как видите, если вставить этот код в PHP файл, язык не будет ругаться на него, код правильный, но и строка правильная согласно PHP. Мне и надо найти такой вариант с обратным слешем, чтобы это был и код правильный и строка правильная.
0
|
32 / 32 / 5
Регистрация: 15.11.2010
Сообщений: 166
|
|
27.11.2014, 16:13 | 6 |
Т.е вы считаете, что можно, вот так просто, взять и прочесть содержимое, например, файла "config.php"?
1
|
27.11.2014, 17:02 [ТС] | 7 | |||||
По поводу вопроса. Да очень легко читается, ведь это обыкновенный текстовый файл. Вспомните теорию PHP.
Но, кажется я нашел решение. Просто сохраню кусок кода, который собираюсь искать в текстовом файле с расширением .txt Теперь
Все зависит в каком файле этот кусок кода находится. Добавлено через 22 минуты Только что попробовал, как писал выше. Все отлично работате. Спасибо за желание помочь.
0
|
27.11.2014, 17:02 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь. Помощь с куском кода Поделитесь куском кода Не могу разобраться с куском кода Помощь с куском кода на Delphi Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |