HTML template for PHPで、テンプレート側で表示文字に制限をかける方法

このQ&Aのポイント
  • HTML template for PHPで、テンプレート側で表示文字に制限をかける方法について教えてください。
  • 具体的な方法や関連する情報を探しているのですが、よく分かりませんでした。
  • どのようにすれば、指定した文字数まで文字を表示することができるのでしょうか?
回答を見る
  • ベストアンサー

HTML template for PHPで、テンプレート側で表示文字

HTML template for PHPで、テンプレート側で表示文字に制限をかけたいのですがどうすればよいでしょうか? {rval hige/hogehoge}となっている箇所の表示を、例えば20文字までとか、あるいは20文字以上だとそこで切り取り…を付与、みたいにしたいのですが、具体的に、どうすればよいのでしょうか? 自分では、下記リンク先を調べてみたのですが、よく分かりませんでした。 ▽[PHP-users 32496] Re: HTML template for PHPの詳しい解説があるサイトを探しています。 http://ml.php.gr.jp/pipermail/php-users/2007-July/033013.html

  • re999
  • お礼率61% (476/777)
  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

どうやら、そういったフィルターの類は実装されていないようです。 ですが、少し調べてみたらフィルター機能を実装されている方がいらっしゃいました。 http://d.hatena.ne.jp/fbis/20091218/1261134014 こちらの記事が参考になると思います。 ただ、このブログの作者のように自分で機能を拡張していくぐらいの気合がないとなかなか使いづらいもののようです。 可能ならSmartyなど、プロジェクトが生きているものをご利用されたほうが良い気もします・・・

re999
質問者

お礼

>ただ、このブログの作者のように自分で機能を拡張していくぐらいの気合がないとなかなか使いづらいもののようです。可能ならSmartyなど、プロジェクトが生きているものをご利用されたほうが良い気もします・・・ 確かにそうですね…。そんな気がしてきました。 ともあれ、情報をご提供いただき、ありがとうございました。

関連するQ&A

  • HTML template for PHPで、配列をテンプレートへ表示

    HTML template for PHPで、配列をテンプレートへ表示させたいのですが、うまくいきません。 どうすればよいのでしょうか? ■表示させたい配列$testX array(2) { [0]=> string(9) "復習PHP" [1]=> string(9) "独習PHP" } ■index.php HtmlTemplate::t_include($TemplateFile, $dataX); ← 元から渡っている配列 HtmlTemplate::t_include($TemplateFile, $testX); ← 今回、追加したい配列 ■テンプレート側 <!--{each test}--> {rval testX} <!--{/each}--> と書けばいけるかな、と思ったけど、全然、駄目でした。どう書けばよいのでしょうか?

    • ベストアンサー
    • PHP
  • php テンプレート

    すみません。phpで質問です。 テンプレートを用意しようと思いとりあえずサンプルを探して動かしてみたのですがうまくテンプレートのように動きません。 ちゃんとした動かし方をお教えてください。 (tempファイルの拡張子はphpがいいです。) temp.html <h2>この記事は、_+test+_です。</h2> func.php <?php function func_temp($html_file, $disp_data) { // テンプレート表示用の関数 $html_data = file_get_contents($html_file); // テンプレートファイルを読み込み $replaced = '/_+(.*)+_/'; // 検索するパターンの指定 $html_data = preg_replace($replaced, $disp_data, $html_data); // 置換実行 return $html_data; // 表示用のHTMLデータを返す } ?> access.php <?php require 'func.php'; // テンプレート機能ファイルを読み込む $data = 'PHPのテンプレートって何で作る?'; // 画面に表示させるデータを登録 echo func_temp('temp.html', $data); // テンプレート機能関数を呼ぶ ?> 参考: https://www.sejuku.net/blog/73463

    • ベストアンサー
    • PHP
  • PHPが出力したHTMLにinclude文を

    PHP4.3で、HTMLファイルをテンプレート出力する方式の掲示板を使っているのですが、テンプレートのHTMLファイル内に別のPHPスクリプトで出力した表示を貼り付けようと思い、 <?include("hoge.php");?> とinclude文を書き込んだのですが、これが反映されずにソース内に<?include("hoge.php");?>という記述がそのまま出て来てしまいます。 これが出来ない原因は、PHP実行→HTML表示→HTML内のPHP実行という二度のPHP実行が出来ないのか、<?include~を「文字列」として認識してしまっているのかのどちらかだと思うのですが、、 PHPファイルには一切手が加えられない状況なので、テンプレートHTMLに手を加えるだけで別のPHPスクリプトを読みこませたいのですが、何かいい方法は無いでしょうか?

    • ベストアンサー
    • PHP
  • PHPでcookieのみを使ったログインページ

    学校で「PHPでタイムカードを作成せよ」という課題がでました。 そこで、まずログインページを作ろうと思い、 検索をかけてサンプルプログラムを見たり、 分からない命令を調べてみたりしているのですが プログラミングが大の苦手でありまして・・ 残念なぐらいにわかりません。 実際に http://ml.php.gr.jp/pipermail/php-users/2004-July/023371.html にあったプログラムを動かしてみても、 ログインフォームの次のページ(認証ページ)で 「idが未入力です」と表示されてしまいます。 (idとpwは何度も確認して入力しています) どなたか簡単なログインページのサンプルを作っていただけないでしょうか 出来ればセキュリティー面などは考慮せずに、 クッキーのみを使った簡易なものをお願いしたいです。 それを拝見して勉強したいと思います・・ よろしくお願いします。

    • 締切済み
    • PHP
  • HTML文字コード

    こんにちは。 文字コードのお話です。 PHPでテンプレートを呼び出して表示するのですが、UTF-8で指定しているのに、Shift-Jisで出力されている様子です。 HTMLのmetaタグで宣言しているのに、HTMLファイルだけがS-JISです。 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> PHP側ではUTF-8を指定していて、そのページではきれいに表示されている文字と、文字化けしている文字がごちゃごちゃです。 htaccessの設定という可能性もあるでしょうか? HTMLに関連する問題だと思うのですが、ご存じの方いらっしゃいましたらご教授お願いします。。

    • 締切済み
    • PHP
  • textareaのvalueについて

    ▽textareaの受け渡し - PHP - 教えて!goo  http://okwave.jp/qa/q3086989.html >textarea内に表示させる場合は >valueは必要ありません。 ▽[PHP-users 19095]Re: TEXTAREAタグの使い方   http://ml.php.gr.jp/pipermail/php-users/2003-November/019622.html ><TEXTAREA>のValue値は ><TEXTAREA>値</TEXTAREA> >となります。 >なので、開始タグ内でValue値を指定しても表示されません と書かれているのですが、これはHTMLの仕様なのでしょうか? また、それは、どこに書かれているのでしょうか? inputタグはvalueなのに、「textarea」タグでは何故Value値が有効でないか、教えてください。 後、jQueryで「$("textarea").val(data);」とやるのと、 PHPで、<textarea><?php echo $data ?></textarea>とやる行為に、違いはあるでしょうか? 両者は同じことをやっているという認識で良いでしょうか?

    • ベストアンサー
    • PHP
  • テンプレートの文字色がわかりません

     HTMLについて質問です。 下記のテンプレートを使っているのですが 文字色がわかりません。 http://10plate.blog44.fc2.com/ テンプレートは表示されているものと同じで ハイパーリンクの水色のカラーを採色できません。 パワースポイトポイントというツールをつかっているのですが カーソルをあわせると色がかわってしまいます。 文字色や採色方法がわかりましたらご指導願います。

  • リクエストURIによってHTML表示を変える方法

    PHPは初心者です。宜しくお願いします。 表示するページによって、コンテンツ画像の表示をデフォルトの物から別の物に変える、ということをしたいのですが、どうもうまくいきません。 記述など間違っていましたらご教授下さい。 ------ 例)表示したいページのURL→http://***.ne.jp/hoge.php               http://***.ne.jp/hige.php   デフォルトの画像名→default.gif   変更後の画像名→hoge.gif,hige.gif <?php $URI = $_SERVER["REQUEST_URI"]; $URI2 = explode ("/", $URI); $menu = $URI2[2]; ?> <!--ここにテーブルタグなどHTML文書。中略--> <?php if ($menu == "hoge.php"):?> <img src="hoge.gif" border="0"> <?php else:?> <a href="hoge.php"><img src="default.gif" border="0"></a> <?php endif;?><br> <br> <?php if ($menu == "hige.php"):?> <img src="hige.gif" border="0"> <?php else:?> <a href="hige.php"><img src="default.gif" border="0"></a> <?php endif;?><br> <!--後略--> ※このファイルをiniファイルにしてベースのphpファイルにインクルードしています。

    • 締切済み
    • PHP
  • PHPで動的にHTMLを出力したときの現象

    サーバは自分で立てたcentOS5.4(i386版)を使用しており、そこでホームページの作成をしております。 ホームページは、PHP5+XHTML+CSS+JavaScriptを使用しており、それぞれ別ファイルで作成してあります。 アクセス先はPHPで、そのPHP内にテンプレートを表示する処理を記述してあるのですが、PHPで動的に表示した状態のソースを見ると、生のHTMLの内容と違った状態で表示されてしまいます。 生のHTMLと動的に出力したHTMLのソースは下記の通りです。 生のHTML ================= <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr"> <head> ・ ・ ・ 動的のHTML ================= ?????????<?xml version="1.0" encoding="utf-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr"> ・ ・ ・ 動的に出力した状態ですと、ソースの最初に"?????????"という文字が表示されてしまいます。 PHPやHTMLなど、全てのファイルは 文字コード:UTF-8 で、HTMLとCSSは 改行コード:CRLF で、その他のPHPやJavaScriptは 改行コード:LF で作成しております。 php内では、 まずテンプレートを"openFile"で開き、 文字列置換($bodyはテンプレートファイル) $body = str_replace("\\", "\\\\", $body); $body = str_replace("\"", "\\\"", $body); eval("\$body = \"$body\";"); をして、最後に mb_http_output("UTF-8"); header("Content-type: text/html;charset=UTF-8"); print($body); としてあります。 文字コードの関係で文字化けを起こしているため、最初に"?????????"とソースに表示されてしまっているのかと思うのですが、どこが原因なのか分かりません。 原因がお分かりになる方、同じ現象になったことのある方いらっしゃいましたら、ご教授のほどお願い致します。

    • ベストアンサー
    • HTML
  • HTMLからPHP呼び出し【ギブアップ】

    HTMLからPHPを呼び出す方法について、色々調べて実施してみましたが、 どうも動作しません。ギブアップ状態なので、皆様のお知恵をお借りできたらと 思い質問することにしました。 現在の状況。 (1)Apache設定  「.htaccess」ファイルに★印行部分を定義。  ★AddType application/x-httpd-php php html  この定義以外にも色々試しに定義を変えています。  例えば、AddType application/x-httpd-php .php .htmlなど「.」を付与したり。 (2)HTML  <html>  <head>テスト</head>  <body>  <?php include "aaa.php"; ?>  </body>  </html> (3)PHP  aaa.phpは、単体で動作します。  aaa.phpは、HTMLファイルと同ディレクトリにあります。   上記の設定でHTMLを表示すると空白表示されます。 調べた結果、上記で動作すると思ってるのですが、何が問題なのでしょうか? 宜しくお願いします。 また、情報不足していましたら、ご指摘ください。追加します。

    • ベストアンサー
    • HTML

専門家に質問してみよう