【问题标题】:How to apply style to a paragraph with PHP如何使用 PHP 将样式应用于段落
【发布时间】:2020-06-24 16:00:33
【问题描述】:

我想在内置表格的时事通讯中使用 PHP 设置段落样式。 (白色,填充等...) 但它不起作用。 该段落在变量 $result 中。

这是我正在显示标题的 td 单元格和我正在努力解决的段落:

<td class="resize-main-article" width="49%" align="left" valign="top" bgcolor="#000000">
    <a class="whitecolor" style="text-decoration: none; color: #ffffff;" href="<?php echo get_post_permalink($post->ID); ?>" target="_blank">
        <p style="color:#ffffff; font-size: 22px; margin-top: 10px; padding: 10px; font-family: 'Times New Roman', Times, serif; margin: 0;" width="100%">
            <span style="color: #ed2939;"> 
                <?php echo get_field('overtitle', $post->ID); ?> / 
            </span>
            <?php echo get_the_title($post->ID); ?>
        </p>

<?php 
$post_content = $post->post_content;
$post_content = apply_filters('the_content', $post_content);
if (preg_match('%^(<p[^>]*>.*?</p>)$%im', $post_content, $regs)) {
   $result = $regs[1];
} else {
   $result = "";
}
echo "<p style='color:#ffffff; font-size: 14px; padding: 10px; margin: 0;' width='100%'>" . $result . "</p>";
?>

    </a>
</td>

Here is what I get (so no stylisation applied...)

Here is the HTML output I get, which gets me a bit confused...

非常感谢您!

【问题讨论】:

  • 你的 echo 已经设置了 CSS 样式属性......
  • 这不是&lt;p&gt; 元素吗? echo 输出的结果 HTML 是什么?它与您的预期有何不同?
  • $result是段落的内容,还是内容周围的段落标签?
  • 嗨,Martin,是的,这是我真正想应用于 $result 的样式。它是内联编写的,因为我正在表格中构建时事通讯。
  • 嗨 jo8691,我认为 $result 还包括标签...

标签: php css css-tables


【解决方案1】:

如您的图片所示,您渲染的代码导致一个段落嵌套在另一个段落中,例如

<p>
  <p>...</p>
</p>

这是无效的 HTML。大多数浏览器会尝试更正此问题并取消嵌套,这将导致

<p></p>
<p>...</p>

外部&lt;p&gt; 会在内部&lt;p&gt; 之前呈现,因此您的样式外部&lt;p&gt; 将为空,并且样式不会应用于内部&lt;p&gt;

修改包含文本段落的$result 字符串,使其没有外部&lt;p&gt;,并通过样式表或通过操作$result 的内容来应用您的样式,但不要将$result 包装在你正在做的另一个段落。

【讨论】:

  • 非常感谢!我开始明白了。遗憾的是,我不能使用样式表,因为由于时事通讯的兼容性问题,不推荐使用它……但我更了解我的嵌套问题。谢谢☺️
  • @Skaradron 然后你需要操作$result 中的字符串来设置样式
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-08-03
相关资源
最近更新 更多