2017-01-12 1 views
0

TinyMCE과 PHP/MySql을 사용하여 데이터를 처리/저장하는 블로그를 작성했습니다. 이전에 여러 번 해봤지만이 예제에서는 <pre></pre> 태그를 사용하여 예제 코드 블록을 작성하려고했습니다. 문제는 내가 그것을 할 TinyMCE에을 구성 할 수있는 방법을 찾아야하지 않았다 < 내가 &lt;에 표시 할 원하는 코드의 >&gt;블로그에 코드 예제를 준비하고 표시하는 대신

을 대체하기 위해 필요한, HTML 코드를 작성하는, 그래서 내 코드 예제를 교체하고 붙여 조금 JS했다 : 그것은 데이터베이스를 한 번에 문자열을 삽입하기 위해 노력

$("#change").click(function(){ 
    var output = $("#source").val().replace(/</g,"&lt;"); 
    output = output.replace(/>/g,"&gt;"); 
    $("#output").val("<pre>"+output+"</pre>"); 
}); 

을,하지만 난 그것을를 표시 한 후 다시 변경 엔티티를 업데이트하고 싶었다 때 발견 텍스트 영역에서. 그래서 데이터베이스로 업데이트하려면 문자열 조각의 문자를 다시 대체해야했습니다. 그것은 같은 문자열 소요

function processCode($string_raw,$start,$end) { 
    if(preg_match_all("/".$start."(.*?)".str_replace("/","\/",$end)."/s",$string_raw,$matches)) { 

     for($i=0 ; $i<count($matches[0]) ; $i++) { 
      $processed = htmlentities($matches[1][$i]); 
      $string_raw = str_replace( $matches[0][$i], 
             $start.$processed.$end, 
             $string_raw); 
     } 
    } 
    return $string_raw; 
} 

:

$raw_string = "This code <pre><b>code</b></pre> is mine"; 

을 그리고 $star 및 내부 기관을 대체

그래서 나는 PHP와 DB에 삽입 할 문자열을 준비하는이 작은 기능을 썼다 $end 태그.

이 삽입 및 업데이트하는, 잘 작동하지만, 난 아직도 궁금하네요 :

  • 이 작업을 수행 할 수 TinyMCE에를 구성하는 방법이 있나요?
  • 더 쉽고/더 부드러운 방법으로 해결할 수 있습니까?
  • 중요한 항목이 누락 되었습니까?

PD : 당신이 질문에 대한 더 나은 제목을 생각한다면, 지금 나를 주시기 바랍니다 그것을 :)

답변

1

TinyMCE에 사람들이 자신의 콘텐츠에 코드 샘플을 삽입 할 수 있도록 특별히 설계된 codesample 플러그인이 있습니다

당신이 사용하는 경우

https://www.tinymce.com/docs/plugins/codesample/

당신은 붙여 넣기를 처리하고 <pre> 태그를 포장하는 모든 코드가 필요하지 않습니다.

관련 문제