묻고답하기
제로보드4-XE migration 툴 수정관련 (PHP도움 부탁드립니다)
2019.05.01 20:58
제로보드4에서 XE로 옮기는 것과 관련해 문의하고 싶어 또 왔습니다.
제가 쓰던 웹호스팅 제로보드4 게시판에 img태그를 사용한 글이 꽤 있습니다.
그래서 migration 툴을 사용해 글을 xml파일로 저장할 때 img태그를 사용한 부분만 수정하고 싶습니다.
이를테면 제로보드4에 있는
<img src="http://홈페이지.com/zboard/어쩌구.jpg"> 를
<img src="../zboard/어쩌구.jpg"> 로 상대경로로 바꾸고 싶은데요. 그럼 상대경로 폴더에 맞게 파일을 넣어주면 되니까요.
보니까 migration 툴에서는 이미지박스를 이용한 글을 정상적으로 옮기기 위해
본문을 수정하는 코드가 들어가 있더라구요.
preg_replace 를 사용하는 것 같은데 이를 이용하면 본문의 img태그도 수정되지 않을까 싶지만
제가 PHP에 지식이 전무한지라 어설프게 따라했더니 본문 내용이 통채로 날아가네요.ㅠㅜ
어떻게 해야 할지 알려주실 수 있는분 계신지요?
아래에 migration 툴의 해당 부분을 올려봅니다.
$member_srl = $document_info->ismember;
if($member_srl) {
$match_count = preg_match_all('/\[img:([^\.]*)\.(jpg|gif|png|jpeg)([^\]]*)\]/i', $obj->content, $matches);
if($match_count) {
for($i=0;$i<$match_count;$i++) {
$image_filename = sprintf('%s.%s', $matches[1][$i], $matches[2][$i]);
$file_obj = null;
$file_obj->filename = $image_filename;
$file_obj->file = sprintf('%s/%d/%s', $image_box_path, $member_srl, $image_filename);
$file_obj->download_count = 0;
$files[] = $file_obj;
}
}
// content의 내용을 변경 (이미지 경로를 파일이름만으로 해 놓으면 차후 import시에 경로를 입력하도록 변경함)
$obj->content = preg_replace('/\[img:([^\.]*)\.(jpg|gif|png|jpeg),align=([^,]*),width=([^,]*),height=([^,]*),vspace=([^,]*),hspace=([^,]*),border=([^\]]*)\]/i', '<img src="\\1.\\2" align="\\3" width="\\4" height="\\5" border="\\8" alt="\\1.\\2" />', $obj->content);
}
저 빨간 부분을 복사해서 http://홈페이지.com/ 이 ../으로 변경되도록 하여 추가해보았는데
if 조건들 때문인지 내용 전체가 바뀌어버리더군요. 어떻게 해야 할까요?ㅠ