ホームページ  >  記事  >  バックエンド開発  >  百度エディター ueditor への thinkphp3.2 の組み込みに関する分析

百度エディター ueditor への thinkphp3.2 の組み込みに関する分析

不言
不言オリジナル
2018-06-08 14:04:341747ブラウズ

この記事では、Baidu エディタの ueditor に組み込まれている thinkphp3.2 のサンプル コードを紹介します。興味のある方は、thinkphp3 のサンプル コードを紹介します。 2 Baidu エディター ueditor に埋め込まれています。皆さんと共有してください。この記事が役立つことを願っています。


組版要件により、リッチ テキスト エディターを埋め込んでテキスト コンテンツを出力する必要があることがよくあります。 htmlタグ付き。最近、HTML タグ付きのテキストを出力してサーバーに保存できるようにテキスト コンテンツを編集する必要があるバックエンド管理システムに取り組んでいたため、クライアントはタグ付きテキストをサーバーから取得するリクエストを送信します。私は ueditor


1 を使用します。まず、PHP バージョンの utf バージョンをダウンロードします。


これをパブリック ディレクトリに置きます。

2. ビューでリッチ テキスト エディターを使用するときは、通常、フォームに textarea を追加します。

<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 で設定したパスです。通常、フォームにボタンを追加すると、フォーム内のすべてのデータが送信されます。デフォルトですが、私のプロジェクトには画像のアップロードも含まれています。ここでは、jq の ("#intro_detail").val() の値を通じて必要な値を取得できるかということです。私の解決策は、ueditor が提供するメソッドを使用して値を取得し、それを入力に割り当てて、フォームと一緒に送信できるようにすることです。コントローラーでは、次のように _POST('フォームの名前') を渡すことができます:

 <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);

$result は、SQL ステートメントを使用して見つけたデータベース コンテンツであり、intro_detail は、データベース

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;);
に保存されているラベルと一重引用符を含むテキスト コンテンツです。 ###7.実際、私はあなたにいくつかのアイデアを提供するためにここにいます。私も初心者です。

以上がこの記事の全内容です。その他の関連コンテンツについては、PHP 中国語 Web サイトをご覧ください。

関連する推奨事項:

Alipay インスタント アカウント インターフェイスとドッキングする thinkPHP フレームワークのコールバック問題の分析

Thinkphp に基づくと jquery ajax の複数選択、選択の反転、データの削除の機能を実現します


#

以上が百度エディター ueditor への thinkphp3.2 の組み込みに関する分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。