텍스트큐브 플러그인 - SyntaxHighlighter using Google Code Prettify 1.1.1 (rezmod)
텍스트큐브로 바꾼 이후로 플러그인 페이지 하단의 '플러그인 업로드 게시판' 링크가 바뀌어 발길이 뜸해졌던 테터툴즈 플러그인 게시판.
오랫만에 들어가봤다.
텍스트큐브로 바뀐 이후에도 꾸준히 활성화 되어 있어서, 텍스트큐브에서 사용할 수 있는 유용한 플러그인들이 꽤나 많이 나와 있었다.
그 중에서 내 눈길을 끈것 중 하나가 바로 SyntaxHighlighter.
코드 하이라이팅 플러그인으로 langtohtml을 썼다가, 텍스트큐브로 바꾸고 난 후에는 안쓰고 있었는데.. 마침 딱 좋은게 나왔다는 기쁨이 들었다.
게다가 왠지(?) 믿음이 가는 Google의 코드를 이용한 것이라니.. 가볍고 깔끔하고 딱 좋다. 주1
바로 다운로드 받아 설치를 해 보았다.
그러나.. 제대로 동작하지 않음. -_-;; 블로그가 서버렸다.
나만 그런것이 아니라, 이미 많은 사람들이 이같은 문제를 호소하고 있었음을 확인.. 뭔가 이유가 있을것이라 생각하고 코드 분석에 들어갔다.
잠깐 동안의 코드 분석 후.. 마침내 원인을 찾았다.
문제는 PHP의 버전. SyntaxHighlighter v1.1.1이 PHP 5에서 추가된 stripos(), str_ireplace()를 사용하고 있기 때문이었다.
만약, PHP가 에러를 표시하도록 설정되어 있었다면 이런 에러 사항에 대해서 표시되었을 테지만, 내가 호스팅을 받고 있는 nayana의 PHP 설정은 그렇지 않았기 때문에 마치 블로그가 사라져버린듯한 현상이 일어난 것.
PHP 4까지는 원래 strpos(), str_replace()가 있었지만, 이것들은 대소문자를 구별하기 때문에 대소문자 구별 없는 문자열 치환을 지원하기 위하여 위 함수들이 추가된 거였다.
그렇다면 해결법은 간단. [CODE]와 [code]를 모두 지원하는 대신, [code]만 지원하도록 하면 되는 것. 수정할 부분도 위 함수 이름에서 i만 빼는걸로 OK다.
이걸로, PHP 4 이하 버전을 사용하는 서버에서도 SyntaxHighlighter v1.1.1을 사용할 수 있다.
수정하기 귀찮은 사람은 아래에 내가 수정한 파일을 사용해도 좋다. 주2
SyntaxHighlighter_1.1.1_rezmod.zipPHP 4 이하에서도 동작할 수 있도록 수정된 SyntaxHighlighter v1.1.1
이 파일은 앞에서 언급한 부분 외에도 원래 코드 중 일부가 삭제되었는데.. 삭제된 부분은 스타일에 관한 부분으로, 개인적인 취향에 의한 것이므로 불만은 금지하시라. -_-;; 주3
- 2007/10/23새 분류를 추가했다... [4]
- 2007/10/23텍스트큐브 커스터마이징 - 플러그인 게시판 링크... [0]
- 2007/10/19텍스트큐브 플러그인 - SyntaxHighlighter using G... [5]
- 2007/10/04이런 저런 이유로 글쓰기 미루기 [0]
- 2007/09/26텍스트큐브 커스터마이징 - 글 목록에서 글 보러... [0]
-
2007/10/22 11:20텍스트큐브에서 문법 강조하기 Tracked from mooo.org
-
2007/10/23 11:48텍스트 큐브 플러그인 - Code Loader 1.1.1 (작성중) Tracked from rezlog


와우^^ 멋진데요 ^^
제 블로그는 이상하게 안사라지던데 php5를 써서 그런것이군요 ^^
아, 그런것이었군요. 제 서버가 php가 5.x대라 그럴것이라고는 생각도 못했습니다. 항상 하위 호환을 생각해야 하는 개발자가 그것을 망각하고 있었네요.
아무튼 좋게 수정해 주셔서 감사합니다.
그렇게 말씀해 주시니, 저야말로 감사~