【163日目】自作ブログ投稿フォーム:
Posted: Last Update:
「記事の投稿ページを作成する」プロジェクト。フォームの見た目を整えて、既存の記事の読み込みができるようにPHPを書いています。今日は記事の本文を呼び出せるようにしてみたいと思います。
ここまでの成果
今手打ちでタグとかも書いている入力を、フォームで簡単にできるようにするのが目標。一大プロジェクト「記事の投稿ページを作成する」!ここまでの作業で完了したことは大きく次の4つです。
- フォームのデザインを整えた
- ページ左側のMenuからサイトを選ぶと、真ん中に記事一覧ページを表示させられるようになった
- 記事のクリックで編集ページに遷移できるようになった
- 編集ページに記事の一部を表示できるようになった
一昨日は記事の小見出しを読み込めるようになりました。

記事本文を呼び出せるようになりたい!
小見出しが階層に関わらず同じように表示されてしまっているのも気になりますが、今日は記事の本文を呼び出せるようにしたいと思います。デザインは全体を呼び出せるようになってから考えよう。
では、早速作業。改行に悩まされながらも、読み込み自体はできました。

リンクやdivなどのコードが邪魔してうまく読み込めないことも分かったので、ちょっと勉強になりました。あと、小見出しとの順番も考えないと!
今書いているPHPはこんな感じです。
<?php
$paragraphset = '/<p>(.*?)<\/p>/s';
preg_match_all($paragraphset, $articlebody, $matches, PREG_SET_ORDER);
$i = 0;
foreach($matches as $paragraph){
$i++;
$id = 'paragraph-' .$i;
$paragraphs = preg_replace( '/<(.+?)>(.+?)<\/(.+?)>/s', '<label for="description">本文</label><br><textarea type="text" id="description" name="description" rows="4" cols="50">$2</textarea><br>', $paragraph[0]);
echo $paragraphs."\n";
}
?>
$paragraphset = '/<p>(.*?)<\/p>/s';
preg_match_all($paragraphset, $articlebody, $matches, PREG_SET_ORDER);
$i = 0;
foreach($matches as $paragraph){
$i++;
$id = 'paragraph-' .$i;
$paragraphs = preg_replace( '/<(.+?)>(.+?)<\/(.+?)>/s', '<label for="description">本文</label><br><textarea type="text" id="description" name="description" rows="4" cols="50">$2</textarea><br>', $paragraph[0]);
echo $paragraphs."\n";
}
?>
今日はここまで
今日はここで時間が来てしまいました。最近ちょっとお勉強が忙しくて進んでいませんね…。今週末に試験があるので、それを終えたらまた腰を据えて作業したいと思います。
それまでは作業もお休みするかもしれません。できる範囲で進めようと思います。次にやるのは、見出しと本文の順番をそろえることでしょうか…?
それでは、また明日!