묻고답하기
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
TeX 을 이용한 결과물을 웹에서 볼 수 있는 간단한 PHP 해석 프로그램을 만들려고 합니다. 제가 컴퓨터 관련 전공이 아니라 잘은 모르지만 나름대로 많이 고민을 해보고 질문을 올립니다. 설명을 드리자면,
구상은 TeX 식 입력 -> PHP 해석 -> HTML로 전환 입니다.
예를 들면,
Italic{문자열1 bold{문자열2}} bold{문자열3}
로 TeX 방식으로 입력을 하면 PHP로 통해
<i>문자열1 <b>문자열2</b></i> <b>문자열3</b>
인 HTML의 방식의 표현을 얻기를 원합니다.
TeX은 함수식 입력 방식인데 반해 HTML은 시작태그와 끝 태그가 있어서 함수안에 함수가 들어가는 경우(위 문자열2 부분)가 표현하기 애매합니다. PHP에 내장된 좋은 함수가 있지않을까도 생각해보고, 따로 변수를 만들어 함수의 시작과 끝을 알리는 방식으로 해볼까도 고민해봤습니다만 차라리 전문가의 도움을 얻고자 합니다.
또한 함수의 변수가 두 개인 경우도 조금 골치가 아프더군요.
또 다른 예를 들면,
marquee{left,bold{문자열1}}italic{문자열2}
변환을 통해 (left 부분을 주의해주세요.)
<marquee direction=left><b>문자열1</b></marquee> <i>문자열</i>
식으로 결과를 얻었으면 합니다.
프로그래머 분들이 참 부럽군요. 고수님들의 답변 기다리겠습니다.
PHP로 문자열 치환에 관한 질문 입니다.
2007.02.02 08:21
TeX 을 이용한 결과물을 웹에서 볼 수 있는 간단한 PHP 해석 프로그램을 만들려고 합니다. 제가 컴퓨터 관련 전공이 아니라 잘은 모르지만 나름대로 많이 고민을 해보고 질문을 올립니다. 설명을 드리자면,
구상은 TeX 식 입력 -> PHP 해석 -> HTML로 전환 입니다.
예를 들면,
Italic{문자열1 bold{문자열2}} bold{문자열3}
로 TeX 방식으로 입력을 하면 PHP로 통해
<i>문자열1 <b>문자열2</b></i> <b>문자열3</b>
인 HTML의 방식의 표현을 얻기를 원합니다.
TeX은 함수식 입력 방식인데 반해 HTML은 시작태그와 끝 태그가 있어서 함수안에 함수가 들어가는 경우(위 문자열2 부분)가 표현하기 애매합니다. PHP에 내장된 좋은 함수가 있지않을까도 생각해보고, 따로 변수를 만들어 함수의 시작과 끝을 알리는 방식으로 해볼까도 고민해봤습니다만 차라리 전문가의 도움을 얻고자 합니다.
또한 함수의 변수가 두 개인 경우도 조금 골치가 아프더군요.
또 다른 예를 들면,
marquee{left,bold{문자열1}}italic{문자열2}
변환을 통해 (left 부분을 주의해주세요.)
<marquee direction=left><b>문자열1</b></marquee> <i>문자열</i>
식으로 결과를 얻었으면 합니다.
프로그래머 분들이 참 부럽군요. 고수님들의 답변 기다리겠습니다.
댓글 1
-
에지
2007.02.03 18:45
-
Hodoll
2011.02.06 23:47
진짜진짜 옛날에 했던 질문인데, 지금 확인하네요. 지금은 그때와 달리 정규표현식도 알고 있답니다. ^^ 감사합니다.
정규식 부분을 참고해보세요.
아래 소스를 참고해보세요 :)
<?
$txt = "\marquee{right,\Italic{문자열1 \bold{문자열2}} \bold{문자열3}} \bold{테스트}";
$txt = preg_replace("/\\\bold\{(.+?)\}/i", "<b>\\1</b>", $txt);
$txt = preg_replace("/\\\Italic\{(.+?)\}/i", "<i>\\1</i>", $txt);
$txt = preg_replace("/\\\marquee\{([a-z]+),(.+?)\}/i", "<marquee direction=\\1>\\2</marquee>", $txt);
print $txt;
?>