0

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
4

5 に答える 5

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;
于 2010-07-08T07:51:42.320 に答える
1

ファイルをロードし、正規表現を使用して置換を行います。

preg_replace  ( \\r+([^\r]+)\r+\g  , \<li>$1</li>  ,  $str );

http://php.net/manual/en/function.preg-replace.php

于 2010-07-08T00:55:06.340 に答える
0

問題はありませんが、車輪を再発明しようとしているように聞こえます。興味深いコーディング演習が見つからない場合は、そこにある多数のテンプレート システムを使用してみませんか? (ヒント: Smarty) そうすれば、「もっと重要なこと」のために時間を空けることができます。

于 2010-08-15T02:52:21.993 に答える
0

これらの 2 つの引数を取り、行をロードする関数を作成し ( file関数を使用して簡単に実行できます)、必要な HTML タグでパディングされた文字列にそれらを追加して反復処理します。

于 2010-07-08T00:48:23.880 に答える
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();

出力:

  • カナダ
  • アルバニア
  • アルジェリア
  • アンドラ
  • アンゴラ
于 2010-08-15T01:07:21.240 に答える