質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1194閲覧

ブラウザにコード表示させて、閲覧者がそのコードを変えると繁栄されるようにするには。。。?

kazoogon

総合スコア281

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2017/06/17 08:26

題名の通りですが、プログラミング学習サイト「Progate」さんのようにエディタとコードをブラウザに表示させて、そのコードをいじると実際に反映されるような物を作るのにはどうすればよいのでしょうか? ネットで調べてもソースコードの表示方法やpre,codeタグの説明ばかりで、欲しい情報が見つかりません汗
回答よろしくお願いします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

このサイト(teratail)では質問や回答はtextareaへ文字列を打ち込み、入力して文字列が確定したと同時にプレビューに反映ということをしていますね。このサイトの例でいえばおそらく次のようなことをしているのだろうと思います。

(1) textareaのinputイベントで入力内容が変化したことを検出
(2) そのタイミングでtextareaの内容を取り出す
(3) プレビューのための処理をほどこし
(4) 結果をプレビューエリアへ反映

さてProgateでは入力内容は「プログラムコード」なわけで、上記の(3)のところが「入力内容をプログラムコードとして解釈・実行し、その結果を得る」ということになります。Progateの実際の操作感を知らないのですがもしページ遷移によって画面更新されているのでなければ、(3)は次のような実現方法になると思います。

(3-1) プログラムコードのテキストをsocket.ioなどを使ってサーバーサイドへPOST
(3-2) サーバーサイドで受信した内容をテキストファイルへ格納
(3-3) しかるべき言語プロセッサーを外部プロセスとして起動
(3-4) 結果をパイプないしはファイル経由で受け取る
(3-5) 結果を応答としてクライアントへ返す


なお、(3-3)は「利用者がどんなにおかしなコードを書いても」問題がおきないように「一定時間実行したらプログラムの実行を打ち切りプロセスを殺す」「無限ループなどで大量の出力になった場合に一定行数で打ち切る」「悪意のあるユーザー・あるいはプログラム上の単なるミスによりサーバー環境を破壊されないようにしかるべき制限がかかったユーザー・環境の下で実行される」といったガードがかかっていると思います。

投稿2017/06/17 08:46

編集2017/06/17 08:54
KSwordOfHaste

総合スコア18392

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問