묻고답하기
문자 변환, 정규식
2015.01.15 10:29
안녕하세요
이전 홈페이지에서 XE로 데이터 변환을 하려고 하는데요
기존 홈페이지에서 본문 내용중에
1. [URL=www.xe.com]내용[/URL]
2. [IMG]./aa.jpg[IMG]
와 같이 표현을 하여하였습니다.
이런 문자를
1. <a href="www.xe.com">내용</a>
2, <img src="./aa.jpg"></img>
으로 변경하려면 정규식으로 어떻게 해야 하나요 ?
댓글 3
-
HSJI
2015.01.15 20:04
-
HSJI
2015.01.16 18:59
써놓고 보니..
[URL=www.xe.com]내용[/URL] 이것을
<a href="www.xe.com">내용</a> 으로 변환하신다 하셨는데..
아마도..
[URL=www.xe.com/uri]내용[/URL] 이것을
<a href="www.xe.com/uri">내용</a> 이렇게 뒤에 전체 주소(uri포함)까지 변환하셔야 할 것 같습니다.
$a1= '/\[URL\=www\.xe\.com(\/.*)?\](.*)\[\/URL\]/';
$a2='/\<a\shref\=\"www\.xe\.com$1\"\>$2\<\/a\>/';
preg_replace($a1,$a2,$text);
-
검푸
2015.01.17 21:52
답변 감사합니다.
URL 안에 주소들이 모두 틀리거든요.
게시판에 글 쓴 내용들이.
다른 주소로 링크를 한거라.
[URL="주소"]내용[/URL]
-> <a href="주소">내용</a>
이렇게 변경하려고 합니다.
$a1= '/\[URL\=(.*)\](.*)\[\/URL\]/';
$a2= '/\<a\shref\=\"$1\"\>$2\<\/a\>/';preg_replace($a1,$a2,$text);
이렇게 하면 되나요?.
홈페이지 이전 후 url이 바꼈나보네요.
게시글 내용 중에 이미지 삽입, 링크등이 절대경로로 지정되어 있는 경우
DB에 접속해서
UPDATE xe_documents SET content = REPLACE(content, '변경전 url', '변경후 url');
UPDATE xe_comments SET content = REPLACE(content, '변경전 url', '변경후 url');
로 쿼리를 날려주시면 됩니다. 이게 젤 간편합니다.
다른 이유 등으로 정규식을 쓰셔야 한다면
$a1= '/\[URL\=www\.xe\.com\](.*)\[\/URL\]/';
$a2='/\<a\shref\=\"www\.xe\.com\"\>$1\<\/a\>/';
preg_replace($a1,$a2,$text);
이렇게 해보세요.