2010-02-28 9 views
1

내가 만든 웹 사이트를 다운로드했으며 은 각 파일을 열지 않고도 도메인 이름을 찾고 새 이름으로 바꾸고 싶습니다. 많은 많은 .php 파일에서 문자열 바꾸기

나는 에디트 플러스

이 작업을 수행 할 수 없거나 Windows 또는 에디트 플러스에서이 작업을 수행하는 방법을 알고있는 편집기가 거기에 사용?

들으

+1

글쎄, 적어도 도메인을 반복해서 하드 코딩하지 않는 법을 배웠습니다. – Kobi

+2

@ Kobi가 암시 하듯이 도메인 이름을 변수로 바꾸는 것이 좋습니다. –

+0

일반적으로 나는 변수를 사용 하겠지만 다른 도메인에서 "정확한"복사본을 만들 것이라고는 생각하지 못했습니다 – daniel

답변

2

나는 Notepad++을 건의 할 것입니다. 하나의 파일, 열려있는 모든 파일 또는 디렉토리의 모든 파일을 검색하고 바꿉니다.

0

드문 경우지만 Dreamweaver와 같은 평가판을 사용할 수 있습니다.

즉, 나는 Notepad++이 가능하다고 말했습니다.

0

나는 EditPlus에 "다음 파일로 계속 진행"버튼이 있다고 생각했습니다.

그래서 열기 모든 파일 보도 CTRL + F 찾기 : 대체 OLDDOMAIN :

버튼 "다음 파일로 계속"버튼 "모두 바꾸기"를 NEWDOMAIN.

0

또한이

1

당신은 PowerShell에서이 작업을 수행 할 수 있습니다 할 이클립스 또는 Aptana를 사용할 수 있습니다.

$textToRemove = New-Object System.Text.RegularExpressions.Regex "SOMEREGEX", SingleLine 

Get-Item "*.php" | ForEach-Object { 
    $backupfile = [System.IO.File]::Copy($_.FullName,"NEWPATH") 
    $text = [System.IO.File]::ReadAllText($_.FullName) 
    $text = $textToRemove.Replace($text, "REPLACEWITHTHIS") 
    $newFile = [System.IO.File]::OpenWrite($_.FullName) 
    $newFile.Write($text); 
    $newFile.Close() 
} 

위 코드는 테스트되지 않은 코드입니다. Powershell은 이와 같은 작업을 자동화하는 친구입니다.

+0

쉘을 사용하려면 perl -i -pe '/ word/replace/g'*. phpl – rjh

+0

물론, 그가 perl을 설치했다면. 창 상자에 있다고 했어. 그리고, 쉘을 사용하려고한다면,'find '를 사용하여 좀 더 휴대용 방식으로 sed에서 이것을 할 수 있습니다. -type f -name * .php -print | xargs sed -i.BAK/word/replace/g'' 그리고 dir 구조체로 반복됩니다. –

+0

find/xargs는 Cygwin이 설치되어 있지 않으면 휴대 할 수 없습니다. PowerShell로 설치할 가능성이 높기 때문에 Perl에 대해 언급했습니다. – rjh

관련 문제