id = $id; $this->content = $row['post_content']; $this->date = $row['post_date']; $this->thread = new Thread(); $this->thread->get_from_database($row['post_thread'], $dbc); $this->author = new User(); $this->author->get_by_id($row['post_author'], $dbc); } } mysqli_free_result($result); } function display_content() { echo '
#' . $this->id . ' Posted by ' . $this->author->name . ' on ' . date('m/d/Y g:ia', strtotime($this->date)) . '
'; $post_content = $this->content; // $post_content = preg_replace_callback('/>#\d+/', function($matches) use($thread_id, $dbc) { // return add_quote($dbc, $thread_id, $matches); // }, $post_content); // Replace YouTube URLs with embedded YouTube videos. $post_content = preg_replace( "/\s*[a-zA-Z\/\/:\.]*youtu(be.com\/watch\?v=|.be\/)([a-zA-Z0-9\-_]+)([a-zA-Z0-9\/\*\-\_\?\&\;\%\=\.]*)/i", '
', $post_content); // Replace Image URLs with embedded images. $post_content = preg_replace('@\b(http(s)?://)([^\s]*?(?:\.[a-z\d?=/_-]+)+(?:\.jpg|\.png|\.gif))(?![^<]*?(?:|/?>))@i', 'http$2://$3', $post_content); // Replace other URLs with links. $post_content = preg_replace('@\b(http(s)?://)([^\s]*?(?:\.[a-z\d?=/_-]+)+)(?![^<]*?(?:|/?>))@i', '$0', $post_content); echo $post_content; } } function get_all_posts($dbc) { $sql = "SELECT post_id FROM posts"; $result = mysqli_query($dbc, $sql); if (!$result) { echo 'Failed to get posts: ' . mysqli_error($dbc); } $posts = array(); if (mysqli_num_rows($result) == 0) { } else { while ($row = mysqli_fetch_assoc($result)) { $post = new Post(); $post->get_from_database($row['post_id'], $dbc); array_push($posts, $post); } } mysqli_free_result($result); return $posts; }