Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Как заменить строку ?
 
 автор: IgorT   (28.07.2007 в 13:35)   письмо автору
 
 

Тут дело не очень то по етому форуму, но все же : есть 10 файлов пхп, в каждом из них есть много строк - urlencode(*) а нужно сделать замену на такую строку -
urlencode(base64_encode(*))

Не подскажите ли с каким редактором надо работать чтобы сделать такую замену, а то блокнот так искать и заменять не хочет?

   
 
 автор: ddhvvn   (28.07.2007 в 13:37)   письмо автору
 
   для: IgorT   (28.07.2007 в 13:35)
 

Я пользуюсь PHP Expert Editor и там такая функция есть

   
 
 автор: Trianon   (28.07.2007 в 15:18)   письмо автору
 
   для: ddhvvn   (28.07.2007 в 13:37)
 

.

   
 
 автор: ddhvvn   (28.07.2007 в 15:18)   письмо автору
 
   для: Trianon   (28.07.2007 в 15:18)
 

editor :-D

   
 
 автор: IgorT   (28.07.2007 в 15:26)   письмо автору
 
   для: ddhvvn   (28.07.2007 в 13:37)
 

да там есть, но на мой взгяд - стандартная функция замены, но проблема в том что мне нужно например заменить
urlencode($name)
urlencode($n)
и.т.д. - тоесть urlencode(*) на
urlencode(base64_encode($name))
urlencode(base64_encode($n))
тоесть urlencode(base64_encode(*))

при поиске в PHP Expert Editor слова urlencode(*) выдает ошибку что ничего не найдено, может я что то не так делаю ?

   
 
 автор: ddhvvn   (28.07.2007 в 15:31)   письмо автору
 
   для: IgorT   (28.07.2007 в 15:26)
 

попробуйте поставить галочку "рег. выражения"

   
 
 автор: IgorT   (28.07.2007 в 17:07)   письмо автору
 
   для: ddhvvn   (28.07.2007 в 15:31)
 

нет, не помогла. В другой проге например - Advanced Replacer я могу найти строку -
urlencode(%anything%), но заменить не могу !

   
 
 автор: ddhvvn   (28.07.2007 в 18:10)   письмо автору
 
   для: IgorT   (28.07.2007 в 17:07)
 

Вы не забыли, что там (PHP Expert Editor) нужно прописывать именно рег. выражения?
Т.е. если Вы имеете ввиду все символы (здесб Вы писали *), то в рег выражениии это |.*|

   
 
 автор: IgorT   (28.07.2007 в 18:59)   письмо автору
 
   для: ddhvvn   (28.07.2007 в 18:10)
 

Тоесть ? можно по конкретней ?
Да, когда поставить .* тогда все строки находятся, но проблема теперь в том что если urlencode (.*) был найден в середине строки, то после замены конец отрезается и кроме етого все что было в дужках теряется, тоесть было:

urlencode($name) и т.д.

то после замены есть :

urlencode(base64_encode(*)) но уже без "и.т.д."

   
 
 автор: ddhvvn   (28.07.2007 в 19:03)   письмо автору
 
   для: IgorT   (28.07.2007 в 18:59)
 

а если так

|.*urlencode(.*).*|

(это для поиска)

   
 
 автор: IgorT   (28.07.2007 в 22:24)   письмо автору
 
   для: ddhvvn   (28.07.2007 в 19:03)
 

а как правильно делать замену ? поиск то работает но заменить то я не знаю как написать

   
 
 автор: disable   (28.07.2007 в 22:57)   письмо автору
 
   для: IgorT   (28.07.2007 в 22:24)
 

urlencode\((.+)\)

urlencode(base64_encode($1))

p.s. в php expert editor не сработало..
в zend studio сработало
в pspad сработало

   
 
 автор: fire_f12   (28.07.2007 в 23:05)   письмо автору
 
   для: IgorT   (28.07.2007 в 22:24)
 

На мой взгляд вся эта тема называется лень... просто все это время которое вы потратили для обсуждения этого вопроса можно было потратить на ручной труд... я как то допустил ошибку в проектировании и мне тыкнули на нее когда все было изложено в коде... Мне пришлось исправлять почти 2m кода в ручную, долго муторно но поучительно.. хорошо что в прошлому меня была практика писать пуанктелью.. хых и мне было не привыкать.)))

   
 
 автор: Disable   (28.07.2007 в 23:08)   письмо автору
 
   для: fire_f12   (28.07.2007 в 23:05)
 

А по мне дак лучше ОДИН раз долго "пообсуждать", нежели потом КАЖДЫЙ раз править ручками.

   
 
 автор: IgorT   (29.07.2007 в 12:33)   письмо автору
 
   для: Disable   (28.07.2007 в 23:08)
 

А вот здесь - urlencode(base64_encode($1)) - ето что каждый раз мне строка будет заменятся на обработчик, который будет обрабатывать только одну пременную $1 ? Возможнло ли как то заменить строку но чтобы пременная которая будет обрабатываться предущим оператором все же обрабатывалась новым ?

   
 
 автор: IgorT   (29.07.2007 в 14:52)   письмо автору
 
   для: IgorT   (29.07.2007 в 12:33)
 


urlencode\((.+)\) 

urlencode(base64_encode($1))

Ето сработало на УРА в Zent Studio. Всем спасибо!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования