混合PHP和HTML搜索结果页


Mixing PHP and HTML for Search Results Page

我正在建立一个使用PHP布局页面的页面,但我也需要这个PHP HTML代码插入到PHP页面的搜索功能。搜索在另一个页面上完成,然后将操作发送到结果页面。我试图让PHP和HTML混合在一起。我试过用echo,但没有成功。基本上,我需要PHP HTML代码将结果放入$layout->content(");

<?php
require_once($_SERVER["DOCUMENT_ROOT"].'/layout/layout.inc.php');
require_once($_SERVER["DOCUMENT_ROOT"].'/functions/general.inc.php');
$layout = new default_layout();
$layout->title('IT KB Search');
$layout->content("<div class='border'>");
$layout->content('<h1>IT Support Knowledge Base - Search Results</h1>');
    if (isset($_GET['q'])) {
        $query = rawurlencode( strip_tags($_GET['q']));
        $timestamp = time();
        $baseUrl = 'https://oursite.atlassian.net/wiki';
        $url = $baseUrl.'/rest/api/content/search?cql=space=KB%20AND%20type=page%20AND%20title~'.$query; 
        // To enable authenticated search: 
        // $url .= "&os_username=$username&os_password=$password";
        $response = file_get_contents($url);
        $response = json_decode($response);
        $results = $response->results;
Echo    '<div>';
Echo    '   <ol>';
            foreach($results as $item) {
Echo    '       <li><strong><a href="';
                $baseUrl. $item-> _links-> webui
Echo    '       " target='_blank'>';
                $item->title
Echo    '       </a></strong></li>';
            }
Echo    '       </ol></div><hr>';
} 
$layout->content("</div>");
$layout->render();
?>

您可以将HTML存储为字符串,然后将其传递给$layout->content()函数,如下所示…

<?php
require_once($_SERVER["DOCUMENT_ROOT"].'/layout/layout.inc.php');
require_once($_SERVER["DOCUMENT_ROOT"].'/functions/general.inc.php');
$layout = new default_layout();
$layout->title('IT KB Search');
$layout->content("<div class='border'>");
$layout->content('<h1>IT Support Knowledge Base - Search Results</h1>');
if (isset($_GET['q'])) {
    $query = rawurlencode( strip_tags($_GET['q']));
    $timestamp = time();
    $baseUrl = 'https://oursite.atlassian.net/wiki';
    $url = $baseUrl.'/rest/api/content/search?cql=space=KB%20AND%20type=page%20AND%20title~'.$query; 
    // To enable authenticated search: 
    // $url .= "&os_username=$username&os_password=$password";
    $response = file_get_contents($url);
    $response = json_decode($response);
    $results = $response->results;
    # Change Starts
    $html = '<div>';
    $html .= '<ol>';
    foreach($results as $item) {
       $html .= '<li><strong><a href="';
       $html .= $baseUrl. $item-> _links-> webui;
       $html .= '" target="_blank">';
       $html .= $item->title;
       $html .= '</a></strong></li>';
    }
    $html .= '</ol></div><hr>';
    $html .= '</div>';
    $layout->content($html);
    # Change Ends
} 
$layout->content('</div>');
$layout->render();