当前位置: 首页 > 知识库问答 >
问题:

在PHP代码中嵌入HTML

包丁雨
2023-03-14

我必须使用REST Api获取数据,而我的响应是在JSON中。在解码响应是一个数组后,我必须在网页中显示它,这样数组中的每一个响应都以特定的显示格式显示(就像twitter中的tweets以特定的框类型格式显示一样)。如何在php中循环遍历数组并显示它?我找到的唯一解决方案是使用echo将HTML嵌入到php中,但这并不奏效,调试器也没有太大帮助。我错过了什么?

请指教该怎么做。

下面是我的代码:

    echo  "<div class="tweet original-tweet js-stream-tweet js-actionable-tweet js-profile-  popup-actionable js-original-tweet my-tweet" data-tweet-id="515380319977893890"data-item-id="515380319977893890"  data-name="" data-user-id="2665607941" data-expanded-footer="&lt;div class=&quot;js-tweet-details-fixer tweet-details-fixer&quot;&gt;&#10;&#10;&#10;&#10;    &lt;div class=&quot;entities-media-container js-media-container&quot; style=&quot;min-height:0px&quot;&gt;&#10;    &lt;/div&gt;&#10;&#10;  &lt;div class=&quot;js-machine-translated-tweet-container&quot;&gt;&lt;/div&gt;&#10;    &lt;div class=&quot;js-tweet-stats-container tweet-stats-container &quot;&gt;&#10;    &lt;/div&gt;&#10;&#10;  &lt;div class=&quot;client-and-actions&quot;&gt;&#10;  &lt;span class=&quot;metadata&quot;&gt;&#10;    &lt;span&gt;11:00 PM - 25 Sep 2014&lt;/span&gt;&#10;&#10;       &amp;middot; &lt;a class=&quot;permalink-link js-permalink js-nav&quot; href=&quot;/status/515380319977893890&quot;  tabindex=&quot;-1&quot;&gt;Details&lt;/a&gt;&#10;    &#10;&#10;&#10;  &lt;/span&gt;&#10;&lt;/div&gt;&#10;&#10;&#10;&lt;/div&gt;&#10;" data-you-follow="false"data-you-block="false">" ;

    echo "<div class="content">" ;

    echo "<div class="stream-item-header">" ;

    echo "<a  class="account-group js-account-group js-action-profile js-user-profile-link js-nav" data-user-id="2665607941">
           <img class="avatar js-action-profile-avatar" src="https://pbs.twimg.com/profile_images/506790785572814848/vdj_UAuZ_bigger.jpeg" alt="">
           <strong class="fullname js-action-profile-name show-popup-with-id" data-aria-label-part> </strong>
           <span>&rlm;</span><span class="username js-action-profile-name" data-aria-label-part><s></s><b>   </b></span>
           </a>" ;

    echo "<small class="time">
          <a  class="tweet-timestamp js-permalink js-nav js-tooltip" title="11:00 PM - 25 Sep 2014" ><span class="_timestamp js-short-timestamp " 
           data-aria-label-part="last" data-time="1411711218" data-time-ms="1411711218000" data-long-form="true">Sep 25</span></a>
          </small>" ;


    echo"</div>";

    echo "<p class="js-tweet-text tweet-text" lang="en" data-aria-label-part="0"> </p>" ;

    echo "<div class="stream-item-footer">";

    echo "<ul class="tweet-actions js-actions">";

    echo "<li class="more-tweet-actions">";
    echo "<div class="action-more-container">";
    echo "<div class="dropdown">";
    echo "<button type="button" class="btn-link with-icn dropdown-toggle js-dropdown-toggle js-tooltip">";
    echo "<span class="Icon Icon--delete"></span>";
    echo "<b>Delete</b>";
    echo "</button>";
    echo "<div class="dropdown-menu">";
   echo "<div class="dropdown-caret">";
echo "<div class="caret-outer"></div>";
echo "<div class="caret-inner"></div>";
echo "</div>";

echo "</div>";
echo "</div>";
echo "</div>";
echo "</li>";
echo "</ul>";
echo "</div>"; 
echo "</div>";
echo "</div>";

在Scott的回答之后,我改变了我的代码,但它仍然不工作,我没有得到它。

 echo  "<div class=\"tweet original-tweet js-stream-tweet js-actionable-tweet js-profile-popup-actionable js-original-tweet   

my-tweet\“data-tweet-id=”515380319977893890\“data-item-id=\”515380319977893890\“data-name=\”data-user-id=\“2665607941\”data-expanded-footer=\“

js-media-container“style="”min-height:0px“">
“data-you-follow=\”false\“data-you-block=\”false\“>”;

回声“”;

  echo   "<div class=\"stream-item-header\">" ;

     echo "<a  class=\"account-group js-account-group js-action-profile js-user-profile-link js-nav\" data-user-id=\"2665607941\
     ">
           <img class=\"avatar js-action-profile-avatar\" src=\"https://pbs.twimg.com/profile_images/506790785572814848/vdj_UAuZ_bigger.jpeg\" alt=\"\">
           <strong class=\"fullname js-action-profile-name show-popup-with-id\" data-aria-label-part> </strong>
           <span>&rlm;</span><span class=\"username js-action-profile-name\" data-aria-label-part><s></s><b>   </b></span>
           </a>" ;

    echo "<small class=\"time\">
          <a  class=\"tweet-timestamp js-permalink js-nav js-tooltip\" title=\"11:00 PM - 25 Sep 2014\" ><span class=\"_timestamp js-short-timestamp \" 
           data-aria-label-part=\"last\" data-time=\"1411711218\" data-time-ms=\"1411711218000\" data-long-form=\"true\">Sep 25</span></a>
          </small>" ;


    echo"</div>";

    echo "<p class=\"js-tweet-text tweet-text\" lang=\"en\" data-aria-label-part=\"0\"> </p>" ;

    echo "<div class=\"stream-item-footer\">";

    echo "<ul class=\"tweet-actions js-actions">";

    echo "<li class=\"more-tweet-actions\">";
    echo "<div class=\"action-more-container\">";
    echo "<div class=\"dropdown\">";
    echo "<button type=\"button" class=\"btn-link with-icn dropdown-toggle js-dropdown-toggle js-tooltip\">";
    echo "<span class=\"Icon Icon--delete\"></span>";
    echo "<b>Delete</b>";
    echo "</button>";
    echo "<div class=\"dropdown-menu\">";
   echo "<div class=\"dropdown-caret\">";
echo "<div class=\"caret-outer\"></div>";
echo "<div class=\"caret-inner\"></div>";
echo "</div>";

echo "</div>";
echo "</div>";
echo "</div>";
echo "</li>";
echo "</ul>";
echo "</div>"; 
echo   "</div>";
echo   "</div>";

共有1个答案

长孙沈义
2023-03-14

检查你的单引号和双引号。正在返回的字符串正在被截断。这是无效的:

 echo   "<div class="stream-item-header">" ;

将其更改为:

echo   "<div class=\"stream-item-header\">" ;

或:

echo   "<div class='stream-item-header'>" ;

并对每条回波线重复此修复。

例如:

echo  "<div class="tweet original-tweet js-stream-tweet js-actionable-tweet js-profile-  popup-actionable js-original-tweet my-tweet" data-tweet-id="515380319977893890"data-item-id="515380319977893890"  data-name="" data-user-id="2665607941" data-expanded-footer="&lt;div class=&quot;js-tweet-details-fixer tweet-details-fixer&quot;&gt;&#10;&#10;&#10;&#10;    &lt;div class=&quot;entities-media-container js-media-container&quot; style=&quot;min-height:0px&quot;&gt;&#10;    &lt;/div&gt;&#10;&#10;  &lt;div class=&quot;js-machine-translated-tweet-container&quot;&gt;&lt;/div&gt;&#10;    &lt;div class=&quot;js-tweet-stats-container tweet-stats-container &quot;&gt;&#10;    &lt;/div&gt;&#10;&#10;  &lt;div class=&quot;client-and-actions&quot;&gt;&#10;  &lt;span class=&quot;metadata&quot;&gt;&#10;    &lt;span&gt;11:00 PM - 25 Sep 2014&lt;/span&gt;&#10;&#10;       &amp;middot; &lt;a class=&quot;permalink-link js-permalink js-nav&quot; href=&quot;/status/515380319977893890&quot;  tabindex=&quot;-1&quot;&gt;Details&lt;/a&gt;&#10;    &#10;&#10;&#10;  &lt;/span&gt;&#10;&lt;/div&gt;&#10;&#10;&#10;&lt;/div&gt;&#10;" data-you-follow="false"data-you-block="false">" ;

变成这样:

echo  "<div class=\"tweet original-tweet js-stream-tweet js-actionable-tweet js-profile-  popup-actionable js-original-tweet my-tweet\" data-tweet-id=\"515380319977893890\" data-item-id=\"515380319977893890\"  data-name=\"\" data-user-id=\"2665607941\" data-expanded-footer=\"&lt;div class=&quot;js-tweet-details-fixer tweet-details-fixer&quot;&gt;&#10;&#10;&#10;&#10;    &lt;div class=&quot;entities-media-container js-media-container&quot; style=&quot;min-height:0px&quot;&gt;&#10;    &lt;/div&gt;&#10;&#10;  &lt;div class=&quot;js-machine-translated-tweet-container&quot;&gt;&lt;/div&gt;&#10;    &lt;div class=&quot;js-tweet-stats-container tweet-stats-container &quot;&gt;&#10;    &lt;/div&gt;&#10;&#10;  &lt;div class=&quot;client-and-actions&quot;&gt;&#10;  &lt;span class=&quot;metadata&quot;&gt;&#10;    &lt;span&gt;11:00 PM - 25 Sep 2014&lt;/span&gt;&#10;&#10;       &amp;middot; &lt;a class=&quot;permalink-link js-permalink js-nav&quot; href=&quot;/status/515380319977893890&quot;  tabindex=&quot;-1&quot;&gt;Details&lt;/a&gt;&#10;    &#10;&#10;&#10;  &lt;/span&gt;&#10;&lt;/div&gt;&#10;&#10;&#10;&lt;/div&gt;&#10;\" data-you-follow=\"false\" data-you-block=\"false\">" ;

对于一个更高级的技巧,您可以将整个HTML移动到一个单独的文件中,如果您愿意,也可以将其移动到一个HTML模板中。然后通过PHP读取文件内容,根据需要查找/替换变量或动态部分。但这可能超出了你的问题范围。

 类似资料:
  • 问题内容: 我们如何在JavaScript中使用PHP代码? 喜欢 请提出一个更好的方法。 问题答案: 如果您的整个JavaScript代码都由PHP处理,那么您可以这样做。 如果您有单个文件,并且您不希望PHP处理它们(例如,出于缓存原因),则可以在JavaScript中传递变量。 例如,在您(或您指定布局的任何地方)中,您将执行以下操作: 然后,您可以在JavaScript文件中使用。 除了简

  • 除了通过JSP表达式在JSP页面中嵌入Java代码外,还可以通过<% ... %>在JSP页面中直接嵌入Java代码。所有写在<% ... %>之间的内容JSP编译器都会将其认为是Java代码,并直接将其插入由JSP页面生成的Servlet类的_jspService方法中,如下面的JSP代码: <% int n = (3 + 4) * 5; %> 上面的代码在JSP页面中嵌入了一行非常简单

  • 我试图得到一些代码语法高亮我写的一些文档,我使用HAML和Highlight.js这将适用于像这样的单行Ruby代码(虽然高亮不是很好): 但是如果我尝试在< code>pre和< code>code标记中编写一些CSS,就像这样: 我得到“非法嵌套:纯文本嵌套是非法的。”错误,由于CSS末尾的括号。 有人知道使用HAML在网页上编写代码示例(主要是SASS、Ruby、HAML、Coffeescr

  • 我天真地以为只需在post.md页面中添加带有内容的标记就会很容易,如下所示: 但我看到的不是图像,而是SVG代码(在Firefox中)。到目前为止还没有找到任何办法来解决看起来很简单的事情。在jekyll/liquid减价范围内有可能吗? > 我想用d3.js来操作svg代码,所以我假设我需要嵌入svg代码,而不是作为外部映像文件引用它。 我可以直接用d3.js生成初始的svg内容(这是可行的)

  • Ruby, like fire, is a very useful friend, and a very dangerous enemy. — Mikkel Bruun 在模板中使用嵌入式 Ruby 帮助构建动态的配置文件或实现数组遍历是一种强大的方式。 然而,你也可以在配置清单中使用 inline_template 函数直接嵌入 Ruby 而不必使用分离的模板文件。 操作步骤 在 Puppet

  • 问题内容: 我想知道使用PHP的访问者国家/地区并将其显示在WordPress页面中。但是,当我在WordPress页面中添加PHP代码或发布时,出现错误。我们如何在WordPress Page and Post中添加PHP代码。 问题答案: WordPress默认情况下不会在帖子/页面内容中执行PHP,除非它具有简码。 最快,最简单的方法是使用一个插件,使您可以运行嵌入在帖子内容中的PHP。 在