• 締切済み

PHPのプログラムについて

php初心者です。 日付が表示されるコンテンツで、 例:[2014/01/04 21:50]タイトル⚫︎⚫︎ の、[]内の時間のみ(21:50)の部分を削除したいのですが、どのようにすれば良いか教えてください。 また、コンテンツの中身が増えていった場合、その都度自動で[]内の時間のみの部分を削除出来ればなお良いなと思っています。 どうぞよろしくお願いします。

  • PHP
  • 回答数3
  • ありがとう数8

みんなの回答

回答No.3

基本的にONEONE様の仰るように以下のように対応されるのが良いかと思います。 echo date('Y/m/d', strtotime($time)); ※$timeに2014/01/04 21:50が入っていると考えてください。 補足的名説明になりますが、恐らくDBの方に保存されているデータの方がdatetime型になっており、保存されているデータを取得してきてそのまま出力されているため、例のように出力されているのかと思います。 もし、今後時間部分のデータを使う機会のないテーブルなのでしたら、datetime型をdate型にしてしまえば、わざわざ日付を整形しなおす必要はなくなりますので、そちらも一つの考え方かと思います。 また、phpを最初に始められた方にオススメのサイトを参考URLに記載させていただきますので、お時間があればご覧下さい。 日付や時刻の扱い方なども記載されていて、とても参考になるサイトです。

参考URL:
http://ja.phptherightway.com/
snya03
質問者

お礼

遅くなってしまい申し訳ありません。みなさまのお陰で理解することが出来ました!

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

日時としての整合性をチェックしなくていいならざっくりこんなかんじで ちなみに以下はかっこが全角の角括弧の場合で、半角の場合はエスケープ処理が必要。 <?PHP $str=<<<eof 例:<br> [2014/01/04 21:50]タイトル●●●<br> [2014/01/05 00:00]タイトル■■■<br> [9999/99/99 99:99]日付けとしておかしくてもOK<br> 2015/12/01 12:24 かっこなしは対象外<br> [2014/01/06 12:34:56]秒まではいると対象外<br> eof; $pattern="/(?<=[\d{4}\/\d{2}\/\d{2}) \d{2}:\d{2}(?=])/"; $replacement=""; $str=preg_replace($pattern,$replacement,$str); print $str;

  • ONEONE
  • ベストアンサー率48% (279/575)
回答No.1

2014/01/04 21:50 という文字列から変換するなら date('y/m/d', strtotime('2014/01/04 21:50'); とすればよいかと思います。 が、現実的にはその日付はDBから取得した後になんらかの方法でフォーマットされていると思うので、そこのロジックを見直してはいかがかなと思います。

関連するQ&A

  • 【php】7日おきに日付を表示するプログラム

    phpを用いて、7日おきに日付を表示するプログラムをwordpressで使いたいと思っています。 具体的には、 2011年05月21日 ↓ 7日後 ↓ 2011年05月28日 ↓ 7日後 ↓ 2011年06月04日 など、7日おきに自動的に出力される日付が変わる仕組みです。 どのようにphpを構成すればよいかアドバイスをお願いします。

    • 締切済み
    • PHP
  • PHPで定義されている関数のコードが見たい

    PHPでコードを記述するとき、関数を定義することがあります。 function test($name){ : : } しかし、最初から定義されている関数がありますよね。 isset()やfile_get_contents()などの関数です。 こういった関数の中身をみたいのですが、PHPのどの部分を見ればいいのでしょうか。 関数の中身とは、たとえばfile_get_contentsなら function file_get_contents($name){ : //この部分のことです。 : } PEARだったら、たとえばDB.phpならばDB,phpの中身を見ればいいのですが、fopen()などの最初から定義されている関数はどこを見れいいのかがわかりません。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • 複数のPHPファイルを読み込むには?

    例えば、header.php、contents1.php、contents2.php、fooder.phpという4つのphpファイルがあったとします。 それをindex.phpに、上からheader.php、contents1.php、fooder.phpの順で読み込ませてレイアウト表示したいと思います。 また、index2.phpには一番上にheader.phpを、その下にcontents1.phpとcontents2.phpを横並びさせ、その下にfooder.phpを表示されるというレイアウトで読み込みたいと思っています。 そうした場合に、index.phpとindex2.phpには、どういうふうに記述すれば、上記レイアウトで読み込むことが可能でしょうか。 初心者で、こんな質問、申し訳ありませんが、教えて頂けますと助かります。 よろしくお願い致します。

    • ベストアンサー
    • PHP
  • PHPで作る掲示板のプログラムについて

    これを実行するとページは表示されるのですが、名前や題名、本文に日本語を入力すると 例えば名前に「山田」と入れ送信すると投稿者のところに何も出ません どうすれば解決できますか? <?php $lines = file('bbs2.txt'); if ($_POST['write']) { $items = explode("\t", $lines[0]); $no = $items[0] + 1; $name = htmlspecialchars($_POST['name']); if (!$name) $name = "名無しさん"; $mail = htmlspecialchars($_POST['mail']); $title = htmlspecialchars($_POST['title']); if (!$title) $title = "無題"; $contents = htmlspecialchars($_POST['contents']); $contents = str_replace("\r\n", "<br>", $contents); $contents = str_replace("\r", "<br>", $contents); $contents = str_replace("\n", "<br>", $contents); $delkey = htmlspecialchars($_POST['delkey']); $time = date("Y/m/d H:i:s"); $expire = time() + 3600 * 24 * 30; setcookie("name", $name, $expire); setcookie("mail", $mail, $expire); setcookie("delkey", $delkey, $expire); $data = "$no\t$name\t$mail\t$title\t$contents\t$delkey\t$time\n"; array_unshift($lines, $data); } else { $name = $_COOKIE['name']; $mail = $_COOKIE['mail']; $delkey = $_COOKIE['delkey']; } if ($_POST['delete']) { for ($i = 0; $i < count($lines); $i++) { $items = explode("\t", $lines[$i]); if ($items[0] == $_POST['delno'] && $items[5] == $_POST['delkey2']) { array_splice($lines, $i, 1); } } } if ($_POST['write'] || $_POST['delete']) { $fp = fopen('bbs2.txt', 'w'); foreach($lines as $line) fputs($fp, $line); fclose($fp); } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <title>掲示板2</title> </head> <body> <form method="post" action="bbs2.php"> お名前:<input type="text" name="name" value="<?php print $name ?>"><br> メール:<input type="text" name="mail" value="<?php print $mail ?>"><br> 題 名:<input type="text" name="title"><br> 削除キー:<input type="password" name="delkey" value="<?php print $delkey ?>"><br> <textarea name="contents" cols="60" rows="5"></textarea><br> <input type="submit" name="write" value="送信"> <hr> 記事番号:<input type="text" name="delno">  削除キー: <input type="password" name="delkey2">  <input type="submit" name="delete" value="記事削除"> </form> <hr> <?php foreach($lines as $line) { $line = rtrim($line); $items = explode("\t", $line); print "No.{$items[0]} "; print "<b>{$items[3]}</b> 投稿者:"; if ($items[2]) print "<a href='mailto:{$items[2]}'>"; print $items[1]; if ($items[2]) print "</a>"; print " 投稿時間:{$items[6]}"; print "<p>{$items[4]}</p><hr>\n"; } ?> </body> </html>

    • 締切済み
    • PHP
  • Javascriptで表示のページをPHPで読む

    Javascriptを使って表示されているウェブのコンテンツをPHPで読み込む方法について教えてください。 HTMLで作られている場合は「file_get_contents」でHTMLソースを取得できますが、Javascriptを使って表示されたページのソースを読み込むにはどのようにしたらよいのでしょうか。 読み込みたいページは下記のような構造になっています。 <html> <head> </head> <body> <h2>タイトル</h2> //ここのコンテンツ部分がJavascriptをONにしないと見えない。 </body> </html>

    • ベストアンサー
    • PHP
  • phpプログラムについて

    いつもお世話になっております。 カレンダー一覧表示プログラムがあります。 http://lab.crahadoll.net/samples/script_euc/chapter15/15-5/031831.php プログラムは下記になります。 http://lab.crahadoll.net/samples/script_euc/chapter15/15-5/031831.txt すみませんが、共に文字コードを「EUC」に変更してください。 これは、チェックボックスから年・月を選択し、 「月表示」をクリックすることにより 月一覧が表示されるというプログラムです。 2012▼ 01▼ [月表示] 日付 2012/01/01 2012/01/02 2012/01/03 2012/01/04 (省略) 2012/01/31 これを下記のように、 週表示にし1時間30分置きの表示を考えております。 2012▼ 01▼ 01▼ [週表示] 日付 2012/01/01 00:00         01:30         03:00         (省略)         21:00         22:30 2012/01/02 00:00         01:30         (省略)         22:20 2012/01/03 (省略) 2012/01/06 どのような変更を加えれば、 当問題はクリアーできますでしょうか? なにとぞご教授のほどよろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPで以下のような占いプログラムを作るには

     PHPを使って以下のような占いプログラムを組みたいのですが、なかなか思うようにいきません。部分的でもいいので、どう記述すればいいのか教えてください。 1,名前をテキストボックスに入力し、血液型をラジオボタンで選択後、送信ボタンを押す 2,入力した名前と血液型を表示し、占いの結果(大吉・中吉・小吉・凶のいずれかの画像)を表示。その下に各運勢に対応したメッセージと今日の日付、ラッキーナンバー、ラッキーカラーを表示 3,日付が変わるまで、同じ血液型を選択した場合は上記の結果が変わらない (A型を選んで大吉が出た場合、日付が変わるまでは何度やっても大吉が出る)  フォームから受け取った名前の表示くらいはすぐに分かったんですが・・・・・・配列を使えばいいんでしょうか?  ちなみに画像などの素材はすでに用意できています。

    • 締切済み
    • PHP
  • php ログインID別 ページ表示

    お世話になっております。 PHP初心者です。 どなたかおわかりの方がいらっしゃいましたら、ご教授お願いいたします。 http://oshiete1.goo.ne.jp/qa5743557.html を拝見させていただいたのですが、上記のURLの記述にてログインIDによるページを変更するのはどうしたらよろしいのでしょうか? 例↓ NO1 ID:abc PW:1234 name:山田 NO2 ID:def PW:5678 name:佐藤 とDBに登録していたとします。 両方のIDとPWでログインしたときはmember.phpが表示される。 ここでIDによってmember.phpに表示されるリンクがかわる。 NO1でログインした場合member.phpにはcontents.phpあてのリンクが表示されている。 NO2でログインした場合はmemebr.phpにはcontents.phpとcontents2.phpあてのリンクが表示されるようにするにはどうしたらよろしいでしょうか? 上記のURLを参考にしたいので宜しくお願いいたします。

    • ベストアンサー
    • PHP
  • ***.php?1 等というリンクをクリックすると、ページが自動的に生成されるPHP

    http://XXXXX.com/****.php?1 http://XXXXX.com/****.php?2 ↓ http://XXXXX.com/****.php?50 などというリンクをクリックすると、外部のファイルの一部分を読み込み、 ページに反映させてページを自動的に生成する方法を教えていただけない でしょうか? 急遽、ページのコンテンツの一部分がすべて異なるページを50枚ほど作ら なくてはならなくなってしまい、PHPで動的に作成出来ないものかと思っ てのことでした。 PHPはほぼ初心者で、本屋を回ってPHPの書籍を読みあさってみたのです が、どのような手法を用いているのか見当もつかず、困っております・・・ どなたかご教授いただけないでしょうか? (検索語句や、書籍を探す際のヒントをいただけるだけでも有り難いです)

    • 締切済み
    • PHP
  • php うまくできない

    PHPの勉強をしたくて <html> <head> <title>サンプル</title> </head> <body> <p>今日の日付は<?php echo date("Y/m/d"); ?>です。</p> </body> </html> のソースを作ったのですが、 実際ブラウザで見ると ------------------- 今日の日付はです。 ------------------- しか表示されません。 拡張子はhtmlです。 何がダメなのでしょうか? 何かをインストールしないとだめですか?

    • ベストアンサー
    • HTML