我希望能够用PHP接收文件
**example_file.txt**
United States
Canada
-----------------------
Albania
Algeria
American Samoa
Andorra
Angola
并将这些单独的换行符包装在我传递的HTML元素中。
示例:
magicHtmlGenerator(example_file.txt, '<li>')
// spits out <li>United States</li><li>Canada</li> etc
答案 0 :(得分:2)
function magicHtmlGenerator($filename, $wrapper) {
$x = file_get_contents($filename);
return '<'.$wrapper.'>'.str_replace("\n",'</'.$wrapper.'><'.$wrapper.'>',$x).'</'.$wrapper.'>';
}
$html = magicHtmlGenerator('example_file.txt','li');
echo $html;
答案 1 :(得分:1)
加载文件,然后使用正则表达式进行替换。
preg_replace ( \\r+([^\r]+)\r+\g , \<li>$1</li> , $str );
答案 2 :(得分:0)
创建一个函数,它接受这两个参数,加载行(可以通过file函数轻松完成),然后迭代它们,将它们附加到一个字符串,用你想要的HTML标记填充。
答案 3 :(得分:0)
这是另一种方式:
$sxml = new SimpleXMLElement('<ul></ul>', LIBXML_NOXMLDECL);
$data = file('example_file.txt', FILE_IGNORE_NEW_LINES);
foreach ($data as $line) {
if (ctype_alpha($line)) { // Or whatever test you need
$sxml->addChild('li', $line);
}
}
echo $sxml->asXML();
输出:
答案 4 :(得分:0)
没有冒犯,但听起来你正试图重新发明the wheel。除非你发现一个有趣的编码操作,为什么不使用那里的emany模板系统呢? (提示:Smarty)这样可以让你的时间免于“更重要的事情”。