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

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

ただいまの
回答率

90.45%

  • PHP

    24628questions

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

  • HTML

    11919questions

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

htmlのエラーについて

解決済

回答 4

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 897

hw_test

score 5

以下の2か所でエラーが出ており、調べてもわからなかったのでご教示ください。

<?php
省略
$strHTML = '<!DOCTYPE html>
<html> 
省略
$(document).ready(function() {$('.demo').tbodyScroll({thead_height:   '30px',tbody_height:   '100px',head_bgcolor:   'transparent',foot_bgcolor:   'transparent'}); });
省略
</html> ';
$output = array (
        'total_page' => ceil($datanum / $page_disp_kensu),
        'text' => ($strHTML)
);

echo json_encode($output);
?>


①$(document).ready(function() {$('.demo').tbodyScroll({thead_height:   '30px',tbody_height:   '100px',head_bgcolor:   'transparent',foot_bgcolor:   'transparent'}); });でsyntax error, unexpected '(', expecting T_VARIABLE or '$'というエラーが出ます。

②一番下の</html> ';でsyntax error, unexpected '<'というエラーが出ます。

「追記」
最新のソースです。現状は
$strHTML = <<<'eof'<table id="tbl_list" cellspacing="0" cellpadding="0">
の箇所で以下のエラーが出ています。
以下のコードそのままでエラーが出ますが、どこに問題があるのでしょうか?
「syntax error, unexpected T_SL」

$strHTML = <<<'eof'
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="description" content="テスト">
<title>tbodyScroll - jQueryプラグイン</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script src="jquery.tbodyscroll.js"></script>
<script>
$(document).ready(function() {
    $(".demo").tbodyScroll({thead_height:"30px",tbody_height:"100px",head_bgcolor: "transparent",foot_bgcolor: "transparent"});
});
</script>
<style>
th,td {width: 180px;}
</style>
</head>
eof;

//ヘッダー部
$strHTML = <<<'eof'<table id="tbl_list" cellspacing="0" cellpadding="0">
            <thead>
            <tr>
                <th scope="col" class="f-weight">備品<br>タイプ</th>
                <th scope="col" class="f-weight"><a href="#" id="sort" name="keisokuki" param="'._hs($sort_keisokuki_img).'">備品名</a></th>
            </tr>
            </thead>
eof;

$strHTML .= <<<'eof'<tbody >
eof;

if ($datanum > 0) {

    while ($CN->EOF() == true) {


        $strHTML .= <<<'eof'<tr ".$bgcolor.">
            <td class='break'>"._hs($CN->GetFieldData('mes_type'))."</td>
            <td class='break'>"._hs($CN->GetFieldData('mes_name'))."</td>
          </tr>
eof;

        $CN->MoveNext();

    }

} else {
    $strHTML .= <<<'eof'<tr><td colspan='28'>該当するデータがありません。</td></tr>
eof;
}

$CN->DBClose();

$strHTML .= <<<'eof'


    </tbody>
</table>
</html>
eof;

$output = array (
        'total_page' => ceil($datanum / $page_disp_kensu),
        'text' => ($strHTML)
);

echo json_encode($output);
?>
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • kei344

    2018/03/12 10:51

    PHPではありませんか?少なくともサーバサイド言語を使用されているようなので、質問タグにそれを追加してください。

    キャンセル

回答 4

checkベストアンサー

+2

以前の質問からエラー解消のために奮闘されているものと思われますが、
その時に指摘したコメン部分そのままと思います。

mts10806
2018/03/07 16:38 編集
切れているのは切れているのは
$strHTML = ' で始まっているけど、閉じの ' がないところ。
それでも上の部分ではsyntax error出てると思いますよ。
' で変数を代入しているのに中に 'があります。中で使いたい場合はエスケープされた方が良いでしょう。
$hogehoge = 'aaa\'bbb';
おそらく同じ観点でエラーを解消できるはずです。
変数に代入する際に ' で囲っているか、 " で囲っているか。
囲っているクォートを中のHTMLやjavascriptなどの文字列で使っていないか。
特に上のほうはシングルクォートで囲いながら中でjavascriptの記述でシングルクォートを使っていますね。
$strHTML = '<!DOCTYPE html>
~~
$('.demo').tbodyScroll({ ←ここ。
あとは、終了部分(;の前)は同じクォートになっているかあたりを確認してみてください。

変数代入時にシングルクォーテーション''で囲っているのに、中でシングルクォートを利用しているからです。
中で「文字列」としてシングルクォーテーションを利用したければエスケープする必要があります。

$strHTML = 'aaa\'bbb';

echo $strHTML; // aaa\bbb

沢山あるので全てにシングルクォーテーションを手動でつけようと思うと
漏れが発生して中々進まなくなってしまうので、エスケープを入れるのではなく、ヒアドキュメントの利用もご検討ください。

※その場合、中でPHPの変数を使いたい場合は{$hogehoge}とする必要があるのでご注意ください。

以前もすすめましたが、コードのエラーチェックも自動で行ってくれるテキストエディタを使用するように強くすすめます。
例えばEclipse上で確認すれば、画面を見る前に分かります。
イメージ説明

 修正コード 2018/03/12 13:35

最新ソースの問題がある箇所をざっくり修正しました。
これでエラーはなくなりそうですが、想定通りに出るかどうかはまた別問題です。
自身で調整してください。

修正した箇所:

  • nowdocに統一するため、変数に別で入れていたところを全て削除。nowdoc内に格納。
  • javascript部分にあったダブルクォーテーション(")に対するエスケープを全て削除
    →nowdocでは必要ないため
  • <table>タグの開始がないので追加
  • </html>eof;となっていたので、改行し
    </html>
    eof;
    とした。
    →yambejpさんが貼ってくれているPHPドキュメントの「ヒアドキュメントの項」にありますが、

非常に重要なことですが、終端 ID がある行には、セミコロン (;) 以外の他の文字が含まれていてはならないことに注意しましょう。
閉じの部分には;以外含まれてはいけません(エラーはそのせいで起きています。ヒアドキュメントが正常に閉じられていない)

修正コードは下記です。

~~~冒頭部分は関係ないので省略しています~~~

$strHTML = <<<'eof'
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="description" content="テスト">
<title>tbodyScroll - jQueryプラグイン</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>
<script src="jquery.tbodyscroll.js"></script>
<script>
$(document).ready(function() {
    $(".demo").tbodyScroll(
        {
        thead_height:"30px",
        tbody_height:"100px",
        head_bgcolor: "transparent",
        foot_bgcolor: "transparent"
        }
    );
});
</script>
<style>
th,td {width: 180px;}
</style>
</head>
<table>
    <tbody >
    </tbody>
</table>
</html>
eof;

$output = array (
    'total_page' => ceil($datanum / $page_disp_kensu),
    'text' => ($strHTML)
);

echo json_encode($output);
?>

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/03/12 11:30 編集

    教えていただいた内容で対応していたのですが、実はソースが膨大で
    ここには書き切れていないソースが影響しているせいか
    エラーをすべて取り除くことができずになかなかすすみません。
    しかし、ここで教えていただいた内容で少し進みそうですので、
    またつまったら質問いたします。
    また、エクリプスは諸事情により入れることができないので動作させてエラーを見ています。

    キャンセル

  • 2018/03/12 11:48

    全て取り除けないことにあやまる必要はありませんが、
    ひとまずエラーメッセージを調べる癖をつけてください。
    エラーメッセージを調べて、PHPマニュアルを確認すればほとんどは解決できます。
    (それだけPHPのエラーメッセージは親切です)

    > 処置上により
    状況がよく分かりませんが、Eclipseだけではありませんし、エラーチェックを自動で行ってくれるエディタは必須です。文法エラーでつまずいていては時間が勿体無いからです。
    3歩進んで3歩下がるような状態になっているように思います。

    キャンセル

  • 2018/03/12 11:56

    エラーについて調べています。
    しかし、勉強中の私にとってはまだわかりにくいことが多いです。
    エラーメッセージは確かに検索すると解決方法が多数出てきますが、
    私のソースとどう結びつく変わらないことが多いです。
    理解できるよう学習し、わからなければまた質問したいと思います。

    キャンセル

  • 2018/03/12 12:07

    こんな感じのソースが膨大な量あるんですか……
    仕事じゃないなら全部消しましょう。
    消して最初からやり直しましょうよ。

    もつれた紐をほどくよりも最初からもつれないように端から巻いた方が絶対早いです。

    キャンセル

  • 2018/03/12 12:23

    直すよりゼロから作り直したほうが早そうだよな・・・
    1ブロック書き終えたら表示テストしながらね

    キャンセル

  • 2018/03/12 13:10

    いろんなところを消してみました。
    追記していますが、以下のエラーがでています。
    なにかわかりますでしょうか?
    「syntax error, unexpected $end, expecting T_VARIABLE or T_END_HEREDOC or T_DOLLAR_OPEN_CURLY_BRACES or T_CURLY_OPEN」

    キャンセル

  • 2018/03/12 13:11

    両名に同感です。
    ちょこちょこ直すのは新たなミスを誘発しかねません。
    「膨大」とはおそらくこれまでの経緯からHTMLの量が多いという風に解釈しますが、
    PHPの方で工夫すれば短くすることも可能に思います。

    キャンセル

  • 2018/03/12 13:12

    ソースコードを最新化してください。
    エラーメッセージだけではどこで何が起きているか分かりません。

    キャンセル

  • 2018/03/12 13:13

    今追記しているものが最新となります。
    こちらでは追記したものをそのまま実行すると記載したエラーが出ます。

    キャンセル

  • 2018/03/12 13:14

    $(document).ready ~~~

    せっかくエスケープ入れたのに変数の外にだしてしまったら全く意味がなくなります。
    PHPコードとしては不正なわけですし、PHPコードの外に出すなら単なるHTMLなのでスケープは不要です。

    キャンセル

  • 2018/03/12 13:18 編集

    nowdocを使われているようですが、使い切れていません。

    $hoge = <<<'eof'
    ~~~~内容~~~~
    eof;

    とする必要があります。提示ソースには”閉じ”の部分がありません。
    nowdocまたはヒアドキュメントを利用するのであればエスケープは不要です。
    ごちゃまぜにしてしまっているからか、ツギハギなコードとなってしまっています。
    ヒアドキュメントを使うならヒアドキュメントで統一すべきです。

    キャンセル

  • 2018/03/12 13:22

    ということで、Zuishinさん、asahina1979さんが仰るように
    もはや最初から組み直したほうが早いような状態となっています。
    ヒアドキュメントを利用するのか、クォートで囲むのか、どちらかに統一した上で
    0からやり直す方が良いです。

    キャンセル

  • 2018/03/12 13:31 編集

    今理解しました。
    確かにヒアドキュメントの閉じがありませんでした。
    全体的にヒアドキュメントを使用するようにし追記しました。
    しかし、まだ同じエラーが出ています。

    $(document).ready~の部分も修正いたしました。

    キャンセル

  • 2018/03/12 13:38

    もともとのコードでも閉じはあるけど置き方を間違えています。
    諸々踏まえて修正コードを載せました。
    また、修正箇所も箇条書きにしていますので、参考にしてください。

    > エラーメッセージは確かに検索すると

    先にGoogle翻訳にかけて意味を理解した方が良いです。
    ネットで検索した結果がどう結びつくか分からないとしても、
    まずは調べた解決方法を試しましょう。
    100%同じコードというのは存在しません。ただし、エラーが出ているからには根本的な原因は同じです。
    原因さえ分かれば、あとはその起こっている箇所を突き止めて正規化するだけです。
    コピペのツギハギコードを続けていてはいつまでも進みません。

    キャンセル

  • 2018/03/12 13:41 編集

    そいういえばこれでもうまくいくかというと微妙ですね。
    そもそもプラグインのコードもサンプルそのまま持ってきてますよね。
    demoというクラスに対して指定しているようですが、そのdemoというクラスはHTML上のどこにも存在しないわけですし。html全体をそのままjson_encode()で返しているわけですし。
    jsonを受け取る側で表示がおかしくなりそうですね。
    まあ・・そこは次の話ですね。

    キャンセル

  • 2018/03/12 14:05

    問題個所の修正ありがとうございました。
    参考にさせていただき修正いたしました。
    追記いたしましたが、$strHTML = <<<'eof'<table id="tbl_list" cellspacing="0" cellpadding="0">の部分で「syntax error, unexpected T_SL」 のエラーが出ます。
    eof;を先頭に記載していない場合に出るエラーのようですが、どこかおかしい箇所がありますでしょうか?

    キャンセル

  • 2018/03/12 14:10

    <<<'eof'
    の後には改行のみ許されます。

    エラーメッセージそのまま検索で参考になりそうな記事がでてきますよ。
    https://akamist.com/blog/archives/408

    「ヒアドキュメントの直後の文がエラーになる理由」
    まさにこれをやってしまっているがために出ているエラーです。

    キャンセル

  • 2018/03/12 16:13

    ありがとうございます。
    eof;の右側だけの話ではなかったのですね。
    何とかエラーがなくなりました。
    エラーがでなくなっただけで達成感がすごいです。
    ですが、おっしゃる通りテーブル表示はできていますが、ヘッダーの固定はできていないです。
    以下の対応が足りていないということでしょうか?
    すみませんが、詳しく教えていただけますでしょうか?
    >そもそもプラグインのコードもサンプルそのまま持ってきてますよね。
    >demoというクラスに対して指定しているようですが、そのdemoというクラスはHTML上のどこにも
    >存在しないわけですし。html全体をそのままjson_encode()で返しているわけですし。
    >jsonを受け取る側で表示がおかしくなりそうですね。

    キャンセル

  • 2018/03/12 16:43

    そこは本来本件とは関係のない箇所なので余り深くは言及しませんが、
    そもそも何をどのようにしたくて組んだんでしたっけ?
    最初の質問でhttps://teratail.com/questions/115462
    jsonデータを取得してきて表示させるように組んでいたはずなので、
    もし元々のソース「ichiran_list.php」が今回のソースそのものとしたら
    呼び出しているichiran.phpをブラウザで表示させてhtmlソースを見たら<html>の中に<html>が出ているような形になるはずです、ということです。

    そうしてなくて今回のソースだけで動かしているなら何かしらエラー(javascript側)が起きているはずで、そこを解決しなければなりません。
    今の画面をブラウザの「ソースを表示」でhtmlを確認し、
    想定通りになっているかどうかを確認してください。
    あとは分からないことがあれば別質問としてください(ひとつ前の質問も閉じられた方がいいですね)

    キャンセル

  • 2018/03/12 16:54

    そのとおりで、元々のソース「ichiran_list.php」が今回のソースです。
    ですので、<html>の中に<html>がでています。
    前回の質問の対応だけではヘッダーの固定はできないということでしょうか?
    また別で質問を上げると思いますが、よろしくお願いします。

    キャンセル

  • 2018/03/12 17:03 編集

    了解です。
    ひとまず下記をやってみて、できなければ現象やエラー(phpではなくjavascriptなど)も追記して質問あげてください
    ・ichiran_list.phpにはtableのhtmlのみを書く
    ・javascript部分はjquery,プラグイン,実行の記述も含めて呼び出し元であるichiran.phpに書く
    ・実行の記述($(document).ready(function() {$('.demo').~~~)のdemoをclass="demo"の形でtableタグに追記する(例: <table class="demo">)
     ※demoの部分は任意の名前なので変更しても良いですがその場合はtableに記述する名前も同じにしてください。

    キャンセル

  • 2018/03/12 17:31 編集

    わかりました。
    実行の記述についてですが、<div class="scroll_div hyou2" id="tbldata" style="width:1168px;height:220px;">
    </div>
    というような記載の箇所でデータ部を表示しているのですが、この場合は<table class="demo">はどこに記載すればよいでしょうか?

    キャンセル

  • 2018/03/13 09:12

    PHPに書いているtableタグに class="demo" と入れれば良いと思いますが。
    おそらく当該プラグインを導入する際に参考にした記事は
    https://webkaru.net/jquery-plugin/tbodyscroll/
    だと思うのですが、そこにもきちんと入れてありますよ。
    やりたいことを先行して取捨選択してしまっていて必要な機能を削ってしまっているからうまくいかないのだと思います。

    キャンセル

  • 2018/03/13 09:36

    BA後なので、この辺りで、まずはこれまでのアドバイスを元に色々やってみて詰まったら質問してください。
    ちゃんと理解が進んでいれば間違いなくできるはずですが、HTMLもCSSもjavascriptもPHPもまだまだな感じがするので、1つずつ確実に。
    時には既にコメントがあるように1から作り直すのもやってみても良いかもしれません。そのほうが意味も理解できて、身につきます。

    キャンセル

  • 2018/03/13 09:40 編集

    既に同じようなことを回答者さんがコメントしていたので消しときます。

    キャンセル

  • 2018/03/13 13:22

    調べながら進めていくうちに理解してきましたが、
    まだまだのようです。
    class="demo"を入れてみましたが動作しませんでした。
    現状は固定ができず、テーブルのデータ部も値ではなく"._hs($CN->GetFieldData('maker_name'))."などが表示されています。

    キャンセル

  • 2018/03/13 13:28 編集

    本質問とは別の要件となります。
    既に指摘はさせていただいていますが、ベストアンサーがでており本質問は解決しているので、コメントで次の疑問を続けるのではなく、現在のソースコードと起きている現象の記述をもって新しい質問を立ててください。

    あくまでこの回答にぶら下がるコメントは回答に対する微調整であり、質問からまた先の質問への対応を続ける場所ではない認識でお願いします。

    キャンセル

  • 2018/03/13 13:43

    はい。
    またつまづきましたら質問すると思いますがよろしくお願いいたします。

    キャンセル

+2

それはシングルクォートが競合しています
この手の処理はnowdocでやると良いでしょう

$strHTML =<<<'eof'
<!DOCTYPE html>
<html> 
省略
$(document).ready(function() {$('.demo').tbodyScroll({thead_height:   '30px',tbody_height:   '100px',head_bgcolor:   'transparent',foot_bgcolor:   'transparent'}); });
省略
</html>
eof;

print $strHTML;

※jQueryが「$」をベースに処理をするため
ヒアドキュメントでやると変数を展開しようとしておかしくなります。

 追記

nowdocで処理する限り特に問題なさそうです

<?PHP
$strHTML =<<<'eof'
<!DOCTYPE html>
<html> 
省略
$(document).ready(function() {$('.demo').tbodyScroll({thead_height:   '30px',tbody_height:   '100px',head_bgcolor:   'transparent',foot_bgcolor:   'transparent'}); });
省略
</html>
eof;
$output = array (
  'total_page' => '省略',
  'text' => $strHTML
);
print_r($output);
?>

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/03/12 11:27

    ありがとうございます。
    こちらのやりかたで進めることができました。
    しかし、以下のエラーが出ており、
    おそらくヒアドキュメントを閉じるのに失敗しています。
    調べると、空白やタブがあるとダメとあったのですが、
    タブはないため、空白が問題のようですが、<<<'eof'とeof;間の空白を
    すべてなくせばよいのでしょうか?
    それとも、特定の個所の空白だけでよいのでしょうか?
    「syntax error, unexpected $end, expecting T_VARIABLE or T_END_HEREDOC or T_DOLLAR_OPEN_CURLY_BRACES or T_CURLY_OPEN」

    キャンセル

  • 2018/03/12 11:31

    終端子「eof;」の行についてのみ
    eofの前に一切のインデントはいれてはいけません
    それさえクリアすれば<<<'eof'からeof;までの間については
    何を書いてもただの文字列なので問題ありません。

    キャンセル

  • 2018/03/12 11:37

    やはりそうなのですね。
    当ソースはphpなのですが、頭に<?php お尻に?>があるのですが、
    該当箇所を、<<<'eof'とeof;でくくるとお尻の?>で以下のエラーが出ています。
    くくってはいけないものなどあるのでしょうか?
    「syntax error, unexpected $end, expecting T_VARIABLE or T_END_HEREDOC or T_DOLLAR_OPEN_CURLY_BRACES or T_CURLY_OPEN」

    キャンセル

  • 2018/03/12 11:47

    nowdocの中に<?PHP~?>のようなPHPのコードを埋めることはできません
    どうしても必要なら別途実行し変数などに受けておいて
    sprintfなどで結果だけ埋め込んでやるのが妥当でしょう

    キャンセル

  • 2018/03/12 11:48

    勘違いさせてすみません。<?PHP~?>の中にnowdocをいれています。

    キャンセル

  • 2018/03/12 11:56

    誤解しました、失礼しました。1点注意ですが
    eof;?>
    とするのはNGです、eof;の後ろはかならず改行してください
    大丈夫ですか?

    キャンセル

  • 2018/03/12 11:58

    そちらは大丈夫です。
    質問内容のコードに<?phpと?>近辺のコードを追記したので見ていただけますか?

    キャンセル

  • 2018/03/12 12:01

    ごめんなさい、追記された例示はnowdocで処理されていないように見えますが、処理が違うのでしょうか?

    キャンセル

  • 2018/03/12 12:02

    質問内容ですので、まだnowdocについては記載しておりません。
    では、現在のソースをその下に追記いたしますのでご確認ください。
    省略部分が実はけっこうありまして、それが影響して以下のエラーが出ているかもしれません。
    「syntax error, unexpected $end, expecting T_VARIABLE or T_END_HEREDOC or T_DOLLAR_OPEN_CURLY_BRACES or T_CURLY_OPEN」

    キャンセル

  • 2018/03/12 12:09

    $outputについて一応追記しておきました
    とくに問題があるようには見えません

    キャンセル

  • 2018/03/12 12:49

    そうですか。
    ご確認ありがとうございます。
    ここに記載していないところにまたエラーの原因があるということですね。
    調べてみます。

    キャンセル

  • 2018/03/12 13:03

    最新のコードを追記したので確認していただけないでしょうか?
    追記したコードそのままで上記のエラーが出ます。

    キャンセル

+1

なんの言語か知りませんが、シングルクォーテーションで囲まれた文字列の中でシングルクォーテーションを使っているからでしょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/03/12 11:22

    その通りだと思います。ヒアドキュメントを使用して対応してみます。

    キャンセル

+1

$strHTMLに代入する際にシングルクオートでHTMLをくくっていますね。
なのに、その中でシングルクオートを使ってしまうと、誤作動が起きてしまいます。なので、シングルクオートでくくる場合には、中身のシングルクオートはエスケープ処理をしてください。

$strHTML = '<!DOCTYPE html>
<html> 
省略
$(document).ready(function() {$(\'.demo\').tbodyScroll({thead_height:   \'30px\',tbody_height:   \'100px\',head_bgcolor:   \'transparent\',foot_bgcolor:   \'transparent\'}); });
省略
</html>';

あと、言語はたぶんPHP?JS?か何かだと思いますが、シングルクオートを用いて複数行にする場合には

$strHTML = '<!DOCTYPE html>'.
'<html> '.
'$(document).ready(function() {$(\'.demo\').tbodyScroll({thead_height:   \'30px\',tbody_height:   \'100px\',head_bgcolor:   \'transparent\',foot_bgcolor:   \'transparent\'}); });'.
'</html>';

のような感じでドット(.)で連結させることができるので使ってみてください。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2018/03/12 11:27

    ありがとうございます。
    こちらを参考にして対応してみます。

    キャンセル

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

  • ただいまの回答率 90.45%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

同じタグがついた質問を見る

  • PHP

    24628questions

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

  • HTML

    11919questions

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