>  기사  >  백엔드 개발  >  Baidu 편집기 uieditor에 thinkphp3.2를 삽입하는 방법에 대한 분석

Baidu 편집기 uieditor에 thinkphp3.2를 삽입하는 방법에 대한 분석

不言
不言원래의
2018-06-08 14:04:341747검색

이 글에서는 주로 thinkphp3.2에 Baidu Editor가 내장된 예제 코드가 소개되어 있습니다. 관심이 있으신 분들은 참고해 보시기 바랍니다.

Baidu Editor를 내장한 thinkphp3.2에 대한 소개를 해주시기 바랍니다. 이 글은 여러분에게 도움이 될 것입니다

조판 요구 사항으로 인해 서식 있는 텍스트 편집기를 포함하고 html 태그로 텍스트 콘텐츠를 출력해야 하는 경우가 많습니다. 최근에 html 태그로 텍스트를 출력하고 서버에 저장할 수 있도록 텍스트 콘텐츠를 편집해야 하는 백엔드 관리 시스템을 작업했기 때문에 클라이언트는 서버에서 태그가 지정된 텍스트를 가져오기 위한 요청을 보냅니다. 저는 ueditor인

1을 사용합니다. 먼저 PHP 버전 utf 버전을 다운로드합니다.

공개 디렉토리에 넣으세요.

2. 뷰에서 서식 있는 텍스트 편집기를 사용할 때 일반적으로 양식에 텍스트 영역을 추가합니다.

<form>  
<p><textarea name="intro_detail" id="intro_detail" cols="30" rows="10"></textarea> </p>
</form>

3 html 끝에 스크립트를 추가하여 텍스트 상자의 초기 값을 구성합니다. PUBLIC config

<script type="text/javascript" src="__PUBLIC__/ueditor/ueditor.config.js"></script>
<script type="text/javascript" src="__PUBLIC__/ueditor/ueditor.all.min.js"></script>
<!--建议手动加在语言,避免在ie下有时因为加载语言失败导致编辑器加载失败-->
<!--这里加载的语言文件会覆盖你在配置项目里添加的语言类型,比如你在配置项目里配置的是英文,这里加载的中文,那最后就是中文-->
<script type="text/javascript" src="__PUBLIC__/ueditor/lang/zh-cn/zh-cn.js"></script>
<script type="text/javascript">
  UE.getEditor(&#39;intro_detail&#39;,{  //intro_detail为要编辑的textarea的id
    initialFrameWidth: 418,  //初始化宽度
    initialFrameHeight: 500,  //初始化高度
  });

</script>

4에서 구성한 경로입니다. 일반적으로 양식에 버튼을 추가하면 기본적으로 양식의 모든 데이터가 제출되지만 제 프로젝트에는 이미지 업로드 문제도 포함되어 있어 이를 채택했습니다. 여기서는 ajax 비동기 제출이므로 jq에서 ("#intro_detail").val() 값을 통해 제출할 값을 얻을 수 있습니까? 대답은 '아니오'입니다. 이를 처리하는 방법은 다음과 같습니다. 텍스트 영역에 아래에 숨겨진 입력을 추가합니다. ueditor에서 제공하는 메소드를 사용하여 내부 값을 가져와 입력에 할당하므로 컨트롤러에서 _POST('name)을 전달할 수 있습니다.

 <p >  
<textarea name="intro_detail" id="intro_detail" cols="30" rows="10"></textarea>
</p>
 <input type="text" style="display: none" id="intro_detail1" name="intro_detail1" >

ajax 제출,

$("#intro_detail1").val("&#39;"+UE.getEditor(&#39;intro_detail&#39;).getContent()+"&#39;");

레이블이 지정된 입력을 작은따옴표와 함께 텍스트 상자에 넣고 입력에 저장한 후 전송합니다. 그렇지 않으면 작은따옴표를 사용합니다. 전송되지 않으며 레이블은 자동으로 필터링됩니다. 데이터를 가져올 때 작은따옴표만 제거하면 됩니다.

$.ajax({
          type: "POST",
          url: "<{:U(&#39;Admin/GameManager/Game/modGame&#39;)}>",
          dataType: &#39;json&#39;,
          processData: false,
          contentType: false,
          cache: false,
          data: formData,
          success:function(r){
            if(r.success){
              alert(&#39;编辑成功&#39;);
              window.location.reload();//重新刷新一次
              $(&#39;#user_dialog&#39;).modal(&#39;hide&#39;);
            }
            else{
              alert("参数错误");
            }
          }
        });

5. 컨트롤러에서 $_POST('양식 이름')을 사용하여 데이터를 가져와서 데이터베이스에 쓸 수 있습니다

$db = M(&#39;game&#39;);
    $data  = $db->create(I(&#39;post.&#39;));
    $data[&#39;intro_detail&#39;] = $_POST[&#39;intro_detail1&#39;];
    $db->add($data);

6. 작은따옴표 제거

foreach($result as $key =>$value){    
      $result[$key][&#39;intro_detail&#39;]=str_replace("&#39;","",$result[$key][&#39;intro_detail&#39;]);//过滤单引号
    }
    $this->assign(&#39;game_list&#39;, $result);
    $this->display(&#39;&#39;);

$result는 SQL 문을 사용하여 찾은 데이터베이스 내용이고, intro_detail은 데이터베이스에 저장된 레이블과 작은따옴표가 있는 텍스트 콘텐츠

$user = M(&#39;game&#39;);
    $result = $user->field();

7입니다. 사실 저도 어렵지 않습니다. 당신에게 아이디어를 제공합니다. 나도 초보자입니다.

위 내용은 이 글의 전체 내용입니다. 모든 분들의 학습에 도움이 되었으면 좋겠습니다. 더 많은 관련 내용은 PHP 중국어 홈페이지를 주목해주세요!

관련 추천 :

Alipay의 즉시 결제 인터페이스에 도킹된 thinkPHP 프레임워크의 콜백 문제 분석

Thinkphp와 jquery를 기반으로 ajax 다중 선택, 역선택, 데이터 삭제 기능 구현

위 내용은 Baidu 편집기 uieditor에 thinkphp3.2를 삽입하는 방법에 대한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.