我正在编写HTML文件,我想要一个程序,将列表项标记标记添加到单词列表中

时间:2012-02-20 18:15:03

标签: php python html

我希望的是这样的:

输入:

a
aa
b
bb

输出:

<li>a</li>  
<li>aa</li>  
<li>b</li>  
<li>bb</li> 

所以我在python中尝试,右:

file = open('/Users/Shannon/Desktop/add_tags.txt')


while 1:
    line = file.readline()
    if not line:
        break
    else: 
        print "<li>" + line + "</li> \n"

结果是像这样的乱码:

</li> e sleep patterns when possibleresult in positive outcomes

然后我在php中尝试:

<html><body>

<?php
$fin = fopen('add_tags.txt', 'r');

while(!feof($fin))
    {
        $input_string = fgets($fin);
        $output_string = "<li>".$input_string."</li>";
        echo $output_string;
    }

?>

但是li标签自然地呈现为子弹点。所以我添加了反斜杠以逃避括号,但这似乎没有任何效果。然后我把“(lessthan)li(greaterthan)”更改为“x”只是为了看看发生了什么 - 没什么。仍然是项目符号列表。我不知道。有些东西告诉我,切换到java不会解决我的问题。有什么想法吗?

1 个答案:

答案 0 :(得分:2)

以下是两行中的python解决方案:

for line in open('tmp.txt'):
  print '<li>' + line.rstrip() +'</li>'

还有两条评论:

  1. 'for line in ...'样式更清晰,更容易(open(filename)返回一个python生成器,一次产生一行)。

  2. 为了摆脱行末尾的'\ n',我使用了rstrip()。这也消除了行尾的额外空格(无论如何都不会对HTML产生任何影响)。