如何将html添加到php函数中


How do I add html into php functions?

我的博客使用Processwire。

我知道我可以通过使用

调用博客发布循环
<?php newsList(); ?>

在index.php,但我不知道如何实现html代码在index.php到我的blog_functions.php。

有办法吗?

<div class="blog_item">
  <div class="clearfix"></div>
  <div class="oi_blog_post_meta">
    <div class="oi_blog_post_date">
      <div class="oi_date_d colored">13 July
        <span class="oi_year">2014</span>
      </div>
      <div class="oi_post_cat">
        Java Script</div>
    </div>
    <h5 class="oi_blog_post_title">
                                                                                                        <a href="quisque-consequat-felis-id-lorem-congue/index.html">Quisque Consequat Felis Lorem Congue </a>
                                                                                                    </h5>
    <div class="oi_post_descr_preview">
      Proin sed odio eu turpis sagittis pretium a et metus. Quisque consequat tellus at dolor adipiscing viverra. Cras ligula lectus, viverra tempor ultrices sed, rhoncus quis nulla. Fusce adipiscing, velit nec sodales laoreet,</div>
  </div>
  <div class="oi_post_meta_data_holder">
    <a class="oi_image_link" href="quisque-consequat-felis-id-lorem-congue/index.html">
                                                                                                        <img class="img-responsive" src="
                                                                                                            <?=$config->urls->templates;?>assets/wp-content//uploads/2014/07/photography-movement-13-600x600.jpg" alt="Quisque Consequat Felis Lorem Congue" />
                                                                                                        </a>
    <div class="oi_post_tringle"></div>
  </div>
  <div class="clearfix"></div>
</div>
</div>
这里是我的blog_functions。php
function newsList(){
    // Grab the page name from the url
    $thisCategory = wire("page")->name;
    // If the category is not called "news" then output the category name as a selector for the find.
    if($thisCategory !="news") {
        $category = "article_category.name=" . $thisCategory;
    }   
    // Get the news posts - limited to ten for later pagination
    $newsposts = wire("pages")->find("parent=/news-articles/, $category, template=TUT_news, limit=10");
    $out =" ";
    //Loop through the pages
    foreach($newsposts as $newspost){
        $out .="<div class='clearfix'>";
        if($newspost->article_thumbnails){
            $out .="<a href='{$newspost->article_thumbnails->url}' class=''>";
            $out .="<img class='align_left' src='{$newspost->article_thumbnails->getThumb(listingthumb)}'>";
            $out .="</a>";
        }
        $out .="<a href='{$newspost->url}'><h3>{$newspost->title}</h3></a>";
        $out .="<p>{$newspost->article_introtext}</p>";
        $out .="</div>";
    }
    // Pagination
    $out .="<div class='pagination'>";
    $out .= $newsposts->renderPager(array(
                    'nextItemLabel' => "Next",
                    'previousItemLabel' => "Prev",
                    'listMarkup' => "<ul>{out}</ul>",
                    'itemMarkup' => "<li>{out}</li>",
                    'linkMarkup' => "<a href='{url}'>{out}</a>"   
                    ));
    $out .="</div>";
    echo $out;
}

最好的方法是使用MVC模式。

但是你可以编辑index。php,在这里写上HTML

的例子:

<html>
  <body> 
      <h1>Test page</h1>
      <?php newsList(); ?>
  </body>
</html>

注意函数newlist()已经将html输出到标准输出。使用MVC模式和一些视图模板系统(例如TWIG)可以给你更多的可能性来处理从控制器传递给视图的数据。

回显PHP脚本中的HTML部分,浏览器将像往常一样解析它。

<?php
echo "<html>
            put html contents here.
      </html>";
?>

当HTML和PHP混合使用时,注意" and "

我被告知这样做的方式(我的全职开发人员的朋友告诉我)实际上是关闭php标签并将原始html放在中间,像这样:

<?php if($i==true){ ?> <p>Html goes here :)</p> <?php } ?>

如果你想打印更多的php到html中,你可以简单地添加更多的<?php ?>标签,并在那里添加任何你需要的!

<?php if($i==true){ ?> <p>My name is <?php echo $nameVariable; ?>! :)</p> <?php } ?>

下面是另一个例子(更大的代码块):

<?php 
              $subjects = show_subjects("all");
              if($subjects == ""){
                echo "<h4 style='text-align: center'>No subjects were found</h4>";
                // echo "<tr class='subject-row'><td id='name'>$items['name'] </td><td id='owner-username'>$items['username']</td><td><a href='#' class='edit-subject' id='"$items['subject_ID']'"> Edit</a> • <a href='#' class='delete-subject' id='"$items['subject_ID']'"> Delete</a></td></tr>";
              }else{
              foreach($subjects as $items){
            ?>
              <tr class='subject-row'><td id='name'><?php echo $items['name']; ?></td><td id='owner-username'><?php echo $items['username']; ?></td><td><a href='#' class='edit-subject' id='<?php echo $items['subject_ID']; ?>'> Edit</a> • <a href='#' class='delete-subject' id='<?php echo $items['subject_ID']; ?>'> Delete</a></td></tr>
         <?php
              }
            }
         ?>

或者您可以使用PHP内置的EOT函数

$variable
echo <<<EOT
    <h1>{$variable}</h1>
    <div class='div'>More html here</div>
EOT;