한국어

cezz_tip

http://reedyfox.com원래 그냥 URL이랑 이메일 같은 경우는 알아서 링크를 해주죠.

그런데 이미지, 음악, 동영상, 플래시 파일을 본문에 넣으려면
태그를 사용해주어야합니다. 안그럼 그냥 링크만.......
더군다나 코멘트에 태그를 못쓰면 대략 낭패;;;;;

그런데 URL만 써주면 알아서 관련 태그 적용되어서 출력해주는 소스가
있었습니다만 완전한 버전은 아니었죠.

http://www.nzeo.com/bbs/zboard.php?id=cgi_tip&no=2782

보면 아시겠습니다만 http동..... 이런식으로 식별글자를 써주어야 하는데
그거이 귀차니스트들한테는 보통일이 아닙니다. 그리고 회원들한테
일일이 갈켜주기도 그렇고.....

그런 귀차니즘을 해결해주는 방법이 미니위니란 곳에서 벌써 나왔고
이것 저것 짬뽕해서 저도 사용하고 있긴 한데 엔죠 팁게엔 아직 안올라 있는 것같네요.
여러 단어로 검색해봤는데 위에 있는 링크밖엔 못찾았습니다.


#### 중복이면 코멘트 달아주세요. 삭제하겠습니다. ####




(아래 정규표현식에서 미니위니 패턴은 위쯔님께서 공개하신 소스입니다.)



lib.php 871행 (zb4.1pl2 기준) 에 보면

                // URL 치환
                $homepage_pattern = "/([^\"\'\=\>])(mms|http|HTTP|ftp|FTP|telnet|TELNET)\:\/\/(.[^ \n\<\"\']+)/";
                $str = preg_replace($homepage_pattern,"\\1<a href=\\2://\\3 target=_blank>\\2://\\3</a>", " ".$str);

                // 메일 치환
                $email_pattern = "/([ \n]+)([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)/";
                $str = preg_replace($email_pattern,"\\1<a href=mailto:\\2@\\3>\\2@\\3</a>", " ".$str);


이런 부분이 있죠. 그걸 지우고 아래 내용을 대신 붙여넣으세요.

##### mms 안되던 문제 해결 버전;;;; ######################


                //mms치환(자동, 미니위니 패턴)
                $str = eregi_replace("(mms)://([^[:space:]]*)([[:alnum:]\#\?\/\&\=\200-\377])(.mp3|.MP3|.wma|.WMA|.wmv|.WMV|.asf|.ASF|.mpg|.MPG|.mpeg|.MPEG)", "<EMBED autostart='false' SRC=mms://\\2\\3\\4 />", $str);

                //미디어치환(자동, 미니위니 패턴)
                $str = eregi_replace("(http)://([^[:space:]]*)([[:alnum:]\#\?\/\&\=\200-\377])(.mp3|.MP3|.wma|.WMA|.wmv|.WMV|.asf|.ASF|.mpg|.MPG|.mpeg|.MPEG)", "<EMBED autostart='false' SRC=http://\\2\\3\\4 />", $str);

                //플래시치환(자동, 미니위니 패턴)
                $str = ereg_replace("(http)://([^[:space:]]*)([[:alnum:]\#\?\/\&\=\200-\377])(.swf|.SWF)","<EMBED loop=true menu=false quality=high  WIDTH=320 HEIGHT=240 TYPE='application/x-shockwave-flash' PLUGINSPAGE='http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash' src='http://\\2\\3\\4' border=1></embed>", $str);

                //이미지치환(자동, 미니위니 패턴)
                $str = eregi_replace("(http)://([^[:space:]]*)([[:alnum:]\#\?\/\&\=\200-\377])([^[:space:]]*)(.png|.jpg|.gif|.PNG|.JPG|.GIF|.bmp|.BMP)", "<a class=auto href='http://\\2\\3\\4\\5' target=_blank><img src='http://\\2\\3\\4\\5' border=0></a>", $str);



                // URL 치환
                $homepage_pattern = "/([^\"\'\=\>])(http|HTTP|ftp|FTP|telnet|TELNET)\:\/\/(.[^\n\<\"\' ]+)/";
                $str = preg_replace($homepage_pattern,"\\1<a class=auto href=\\2://\\3>\\2://\\3</a> <a class=auto_new href=\\2://\\3 target=_blank>[새창에서 열기]</a>", " ".$str);

                // 메일 치환
                $email_pattern = "/([ \n]+)([a-z0-9\_\-\.]+)@([a-z0-9\_\-\.]+)/";
                $str = preg_replace($email_pattern,"\\1<a href=mailto:\\2@\\3>\\2@\\3</a>", " ".$str);




테스트 게시판은 http://reedyfox.com/bbs/zboard.php?id=test
입니다. 코멘트나 본문에 이미지 파일이나 동영상, 음악파일 플래시 파일 URL 을
적어보세요.

예) http://reedyfox.com/bbs/icon/member_image_box/1/passerby1.jpg 를 복사해
붙여 넣어보세요.



덧. 클래스는 알아서 바꿔주세요.