【问题标题】:How to deal with repeatable similar html content如何处理可重复的相似 html 内容
【发布时间】:2019-09-18 07:11:37
【问题描述】:

在我的网站上,我有很多相似的内容在同一页面中重复出现。看起来像这样:

<a href="link1"><img src="path1" alt="name1"></a>
<a href="link2"><img src="path2" alt="name2"></a>
<a href="link3"><img src="path3" alt="name3"></a>
<a href="link4"><img src="path4" alt="name4"></a>
...

我正在考虑使用循环来处理重复内容,但为此我需要将重复内容的不同部分保存到一个数组中。使用 PHP 它看起来像这样:

<?php
    $images = [
        ["href" => "link1", 
         "src" => "path1", 
         "alt" => "name1"
        ],
        ["href" => "link2", 
         "src" => "path2", 
         "alt" => "name2"
        ],
        ...
?>

我想问一下存储内容的最佳做法是什么,以便网站的性能尽可能好。是坚持 PHP 最好,还是我应该使用 JSON 文件或其他什么?

注意:我不想使用数据库。

【问题讨论】:

  • 不清楚这里有什么问题。如果您可以将数据存储在数组中 - 将其存储在那里。如果您需要在请求之间存储数据 - 文件、数据库、会话。
  • 最好在合理的范围内尽可能减少客户端的负载,我认为 - 如果你可以发送重复的原始 HTML,它会在发送时被压缩(所以不要担心带宽)。
  • 我在问存储循环遍历的元素的最佳实践是什么。我可以使用 PHP 来完成,但也可以使用 JSON 以及其他方法来完成。哪个被认为是最好的?
  • 这里的数据量太小了,就性能而言,一点都不重要。继续阅读为什么这种过早的微优化没有多大意义,softwareengineering.stackexchange.com/questions/99445/…
  • 大约有 200 个锚点。

标签: javascript php html json


【解决方案1】:

如果您正在处理固定数量的链接和图像路径,则可以使用 JSON 文件或硬编码到源中。但是,如果您的内容是动态的,那么您可以使用 MySql 之类的数据库来存储链接和图像路径,并使用 PHP 循环遍历它以生成 HTML。

【讨论】:

    【解决方案2】:

    你可以循环播放。

    <a href="link1"><img src="path1" alt="name1"></a>
    <a href="link2"><img src="path2" alt="name2"></a>
    <a href="link3"><img src="path3" alt="name3"></a>
    <a href="link4"><img src="path4" alt="name4"></a>
    

    数组:

    $images = [
       0 => [
          'link' => 'https://google.com/',
          'image' => 'assets/image/0.png',
          'name' => 'name 0'
       ],
       1 => [
          'link' => 'https://google.com/',
          'image' => 'assets/image/1.png',
          'name' => 'name 1'
       ],
       2 => [
          'link' => 'https://google.com/',
          'image' => 'assets/image/2.png',
          'name' => 'name 2'
       ],
       3 => [
          'link' => 'https://google.com/',
          'image' => 'assets/image/3.png',
          'name' => 'name 3'
       ],
    ];
    
    foreach($images as $image) { //Then loop through the array and echo it individually
       echo '
          <a href="'.$image['link'].'">
             <img src="'.$image['link'].'" alt="'.$image['name'].'">
          </a>
       ';
    }
    

    结果:

    <a href="https://google.com/"><img src="assets/image/0.png" alt="name 0"></a>
    <a href="https://google.com/"><img src="assets/image/1.png" alt="name 1"></a>
    <a href="https://google.com/"><img src="assets/image/2.png" alt="name 2"></a>
    <a href="https://google.com/"><img src="assets/image/3.png" alt="name 3"></a>
    

    【讨论】:

      猜你喜欢
      • 2021-11-27
      • 2014-05-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-21
      • 2018-06-23
      • 2019-02-23
      • 2022-07-21
      相关资源
      最近更新 更多