ホームページ  >  記事  >  バックエンド開発  >  tp3をBaiduエディターueditorに埋め込むにはどうすればよいですか?

tp3をBaiduエディターueditorに埋め込むにはどうすればよいですか?

零下一度
零下一度オリジナル
2017-07-16 16:36:142378ブラウズ

Baidu ueditor エディターをロードして設定する方法は共有されています
実際には非常に簡単ですが、データを読み取るときに htmlspecialchars_decode($str); 関数を使用してエスケープする必要があります。そうしないと、いくつかの小さな問題が発生します。詳細を参照 詳細

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

1 を使用します。まず、www.jb51.net/codes/56667.html にアクセスして、PHP バージョンの utf バージョンをダウンロードします。

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

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


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

3. テキストの初期値を構成するスクリプトを追加します。 box 、ここで 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. それは実際には難しくありません。私も皆さんにいくつかのアイデアを提供します。もっと議論してください。私も初心者です。

以上がtp3をBaiduエディターueditorに埋め込むにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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