3

データを入力し、それを CSV にエクスポートして、Web サイトの次のページに入力するために使用する Excel テンプレートがあります。

http://play.mink7.com/ifocus_v4/careers.php

Windows でファイルをエクスポートすると、改行文字の書式が正しく設定されます。しかし、MAC から同じ Excel ファイルをエクスポートすると、改行文字が表示されません。

Windows File
play.mink7.com/ifocus/win.csv

MAc File
play.mink7.com/ifocus/mac.csv

.

マイコード

<?php 

include_once("libs/csv2json/CSVParser.php");

$jsonParser = CSVParserFactory::Create("json");
$path = "uploads/jobs.csv";

//This property will use the first row to convert the results into a
//json object array
$jsonParser->IsFirstRowHeader = true;
$jobs = $jsonParser->Parse($path);

$jobs = json_decode($jobs, true);

?>
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>iFocus - Careers</title>
<link href='http://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,400,700,300' rel='stylesheet' type='text/css'>
<script src="js/modernizr.custom.34639.js"></script>
<script src="js/jquery-1.9.1.min.js"></script>
<script src="js/jquery.accordion.min.js"></script>
<link rel="stylesheet" href="css/normalize.min.css">
<link rel="stylesheet" href="css/styles.css">
</head>

<body>
<div id="header" class="wrapper">
  <header class="container">
    <div id="logo"><a href="index.php"><img src="img/logo.png" width="185" height="69" alt="ifocus logo"></a></div>
    <nav id="primaryNav">
      <ul>
        <li><a href="index.php">Home</a></li>
        <li><a href="about_us.php">About Us</a></li>
        <li><a href="case_studies.php">Case Studies</a></li>
        <li><a href="services.php">Services</a></li>
        <li><a href="testimonials.php">Testimonials</a></li>
        <li><a class="active" href="careers.php">Careers</a></li>
        <li><a href="contact_us.php">Contact Us</a></li>
      </ul>
    </nav>
    <div class="clearfix"></div>
  </header>
</div>
<div id="mainBody">
  <div class="container">
    <h3>Careers</h3>
    <h4>iFocus is looking for experienced professionals in the following areas: </h4>
    <p>Email your resume to jobs@ifocussystec.com</p>
    <div class="active-jobs">

    <?php $i = 1; ?>
    <?php foreach($jobs as $j): ?>
      <h3 class="accordion" id="nav-section<?php echo $i++; ?>"><?php echo $j['job_code']." - ".$j['title']; ?><span></span> </h3>
      <div class="accordion-content">
        <p><strong>Relevant Experience:</strong> <?php echo $j['experience']; ?></p>

        <p><strong>Job Description::</strong></p>
        <?php $job_desc = explode("\n", $j['job_desc']);?>
        <ul>
          <?php foreach($job_desc as $jd):?>
          <li><?php echo $jd; ?></li>
          <?php endforeach; ?>
        </ul>

        <p><strong>Skill Set:</strong></p>
        <?php $skillsets = explode("\n", $j['skillsets']);?>
        <ul>
          <?php foreach($skillsets as $s):?>
          <li><?php echo $s; ?></li>
          <?php endforeach; ?>
        </ul>

        <p><strong>Key Words:</strong> <?php echo $j['keywords']; ?></p>
      </div>
      <?php endforeach; ?>


    </div>
    <div class="clearfix"></div>
  </div>
</div>
<script type="text/javascript">
        jQuery(document).ready(function($) {
                $('.accordion').accordion({
                        defaultOpen: 'nav-section1',
                        cookieName: 'accordion_nav'
                });
        });

        </script>
</body>
</html>

ライブラリ リンク: https://github.com/crosbymichael/php-csv-to-xml-json

使用してみ"\r\n"ましたが、フォーマットもできません

4

1 に答える 1

9

PHP のファイル関数は、Mac の行末を確実に認識しません (\r私の記憶が正しければ、Mac Excel のように文字を使用している場合)。

php.ini で trueに設定する必要がありauto_detect_line_endingsます。そうすれば、行末が\n\r、または\r\n.

.htaccessこの設定は PHP_INI_ALL です。これは、php.ini、特定のディレクトリ、または など、どこでも設定できることを意味しますini_setini_set('auto_detect_line_endings', true)

于 2013-05-15T18:50:20.420 に答える