ホームページ >バックエンド開発 >PHPチュートリアル >PHP の学習 --- リッチ テキスト エディターのコンテンツから HTML を生成し、Android クライアントに送り返す方法

PHP の学習 --- リッチ テキスト エディターのコンテンツから HTML を生成し、Android クライアントに送り返す方法

WBOY
WBOYオリジナル
2016-07-29 09:15:491420ブラウズ

ThinkCMFフレームワークを学習することで、今回はフレームワーク付属のモジュール、Portal配下にコンテンツがあることが分かりました

バックグラウンド編集記事がAdminPost以下のadd.htmlに相当することが分かりました

まず第一にadd.html インターフェースを変更しましょう

まず第一に、フォームの送信とジャンプがどのように設定されているかを理解する必要があります


その方法は action="{:u ('AdminPost /add_post')}"

または: href="{:U('AdminPost/index')}"

または: href="{:U('AdminPost/add' ,array('term '=>empty($term['term_id'])?'':$term['term_id']))}"

ThinkCMF フレームワーク構造に関する以前の研究から、対応する add_post メソッドがアプリケーションのコントローラーの下の AdminPostController.class.php で定義する必要があります

もちろん、モジュールはポータルの下にある必要があります。これはフォーム、つまりフォーム内の各入力ボックス、リッチ テキストのすべてによって送信されます。エディターは処理のためにこのメソッドに送信されます

今、記事のさまざまなソースを保存するために特に使用される新しいテーブルを作成しました

対応するデータベースは次のようになります、もちろんデータベースの外部キーはすべて無視します現時点では、この記事の投稿者や他のユーザー ID を記録する必要がないためです。 ,

type enum('travel','hotel','food') not null デフォルト 'travel' COMMENT 'type',
title varchar(35) not null デフォルト '' COMMENT 'title',
推奨 tinyint not null デフォルト '0' COMMENT '推奨',
istop tinyint not null デフォルト '0' COMMENT 'top',
pubdate varchar(50) not null デフォルト '0' COMMENT '公開時刻',
キーワード varchar(50) が null のデフォルトではありません '' COMMENT 'キーワード',
com_source varchar(50) が null のデフォルトではありません ' COMMENT '機関ソース',
zhuanti_content varchar(250) が null のデフォルトではありません '' COMMENT '特別なコンテンツ',
imgsrc varchar(500) デフォルトはnullではありません '' COMMENT '画像アドレス',
picdomain varchar(500) デフォルトはnullではありません '' COMMENT 'プレフィックス付き画像アドレス')engine=MyISAM DEFAULT CHARSET=UTF8;

バックグラウンドで記事を公開するための対応するインターフェイスは次のとおりです:

私の目的は非常に明確であるため、つまり、リッチテキストが存在する限り、エディター、プログラミングは純粋な HTML ページであり、Android セグメントに渡されるのは HTML アドレスであり、Webview で開かれます
ので、その中の他のものは無視できます

その後、検証を削除しますこのフォームで十分である限り、そのことはまだ存在しますか? 次のステップは add_post メソッドを書き直すことです

<span style="font-size:18px;"><strong>	public function add_post(){  
		if (IS_POST) {
		    $data['pubdate'] = $_POST['post']['pubdate'];
		    $data['istop'] = $_POST['post']['istop'];
		    $data['recommended'] = $_POST['post']['recommended'];
		    $data['title'] = $_POST['post']['title'];
		    $data['keywords'] = $_POST['post']['keywords'];
		    $data['com_source'] = $_POST['post']['com_source'];
		    $data['zhuanti_content'] = $this->getHTMLurl();
		    $data['type'] = $_POST['type'][0];
		    $data['imgsrc'] = implode('|',$_POST['photos_url']);
		    $m = M('Zhuanti');
		    if($id = $m->data($data)->add()){
		        // insert into zhuanti (bupdate,istop...)values(值);
		        $this->success('添加成功');
		        exit();
		    }
		    $this->error('添加失败 : '.$m->getError());
		}
	}</strong></span>
ここで気になることは 2 つだけです

$data['zhuanti_content'] = $this-> ;getHTMLurl(); これで返されるのは、コンテンツに対応する HTML アドレスです

$data['imgsrc'] = implode('|', $_POST['photos_url']); これは複数の写真を文字列に入れることです

カスタムメソッドは次のとおりです

これは何を意味しますか?対応する HTML アドレスを指定し、時間保証を追加します。ここでの唯一のことは実際には単純です。最適化する必要があります

そして HTML を生成する必要があります

<span style="font-size:18px;"><strong>	private function getHTMLurl(){
	    $content = $_POST['post']['content'];
	    $src = './tpl/html/'.time().'.html';
	    file_put_contents($src, $content);
	    return $src;
	}</strong></span>
<span style="font-size:18px;"><strong> file_put_contents($src, $content);</strong></span>
<span style="font-size:18px;"><strong>
</strong></span>
<span style="font-size:18px;"><strong>到这里还没有结束,是会报错的,因为html是需要前台显示的,也就是那个html是见在tpl下面的,那么在application的控制器里面必须要建立一个控制器了</strong></span>
<span style="font-size:18px;"><strong>
</strong></span>
<span style="font-size:18px;"><strong><?php
namespace Portal\Controller;
use Common\Controller\HomeBaseController;
class PostController extends HomeBaseController{
    public function getHTML(){//这里随便取个什么名字的,无所谓,
</strong></span>
<span style="font-size:18px;"><strong>}</strong></span>
<span style="font-size:18px;"><strong>}</strong></span>

著作権表示: この記事はブロガーのオリジナルの記事であり、ブロガーの許可なく転載することはできません。
上記では、PHP の学習について紹介しています -- リッチ テキスト エディターのコンテンツから HTML を生成し、それを Android クライアントに送り返す方法 (関連するコンテンツも含む) が、PHP チュートリアルに興味のある友人に役立つことを願っています。

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