用我粗鄙的HTML / PHP帮助我

时间:2011-07-01 16:32:53

标签: php

这可能听起来像一个愚蠢的问题,但我怎么能让这段代码看起来......整洁?

    echo "<h3><font face='helvetica'><font size='4'><b><font color='B80000'>$title</font></font></font></b> <font color='A0A0A0'>$category &nbsp;</font><font color='A0A0A0'><a href='profile.php?id=$userid'>$user</a></font>
    <font face='helvetica'><font size='3'><br>&nbsp;$desc</font></font><br>

       <h3><font color='101010'> &nbsp;$city,$state&nbsp;$zip&nbsp;<font color='A0A0A0'>$date</font>  </font></h3>";
?>

代码没有任何问题,但看起来很草率 - 我想知道是否有人可以帮助我让它看起来干净整洁

5 个答案:

答案 0 :(得分:6)

  1. 请勿使用<font> - 将这些规则移至CSS,您可以在其中设置<h3>元素的样式。 同样!并非所有计算机都有Helvetica,因此您可能希望将其更改为"Helvetica", Arial;,以便设计与您的意图保持一致。
  2. 不要再使用<h3>两次 - 将第二个h3放入<p>或类似内容中,然后使用CSS来设置样式。
  3. &nbsp;$city,$state&nbsp;$zip&nbsp;很脏 - 用PHP中的空格连接字符串,然后回显字符串。
  4. 不要使用echo输出PHP,只需在HTML中使用echo来表示某些元素 - 这将使其更具可读性。
  5. 使用htmlspecialchars()对数据库中的每个数据进行,然后将其回显到页面。这可以防止无效的HTML XSS漏洞。
  6. 那应该收紧它!

答案 1 :(得分:3)

了解MVC for PHP

了解frameworks for php。开始使用一个。

或者首先将CSS与其他数据分开。使用PHP输出动态数据,使用HTML / CSS获取静态数据。避免混合两者。

来自谷歌的链接

答案 2 :(得分:0)

将所有<font ....>代码移至style=""属性

还考虑将html移出php echo,即

<h3>
<a href="<?php echo ... ?>"><?php echo ... ?></a>
</h3>

答案 3 :(得分:0)

我已经把它放到了heredoc中,但是你需要做的大部分改变。

    // use heredoc's: http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
    $out = <<HER 
    <h3><!-- you should use CSS to do this. You should get rid of font tags -->
        <font face='helvetica'> <!-- you don't need three either, you can put them all in one -->
            <font size='4'>
                <b>
                    <font color='B80000'>
                        $title
                    </font>
                </font>
            </font>
        </b><!-- move this so that it matches above -->

        <font color='A0A0A0'>
            $category &nbsp;
        </font>
        <font color='A0A0A0'>
            <a href='profile.php?id=$userid'>
                $user
            </a>
        </font>
        <font face='helvetica'>
            <font size='3'>
                <br> <!-- make this self closing -->
                &nbsp;$desc
            </font>
        </font>
        <br>
        <h3><!-- nested??!? You're already in H3-->
            <font color='101010'>
                &nbsp;$city,$state&nbsp;$zip&nbsp;
                <font color='A0A0A0'>
                    $date
                </font>  
            </font>
        </h3>
HER;

    ?>

答案 4 :(得分:0)

您可以做的第一件事就是关闭PHP标记,写出HTML,同时在打开标记时留下空格和换行符以及缩进,并在需要时重新打开PHP:

?>
<h3>
    <font face='helvetica'>
        <font size='4'>
            <b>
               <font color='B80000'><?php echo $title; ?></font>
        (...)
            </b>
        </font>
    </font>
</h3>
<?php 

另请查看heredoc syntax

在非语法旁注中,从长远来看,使用CSS代替所有<font>标记可以更好地提供服务:

<style type="text/css">

.myTitle {
    font-face: helvetica;
    font-size: large;
    color: #B80000;
}

</style>

echo "<h3 class='myTitle'>$title</h3>" ;