-2

私はphpが初めてです。私がやろうとしているのは、ファイルをアップロードし、そのコンテンツをテキストエリアに生成し、区切り文字を選択してから、html テーブルで選択されている区切り文字に従って行を分割することです。html テーブルは別の形式です。コンテンツの生成と区切り文字に問題はありません。コードは静的に設定された文字列で動作します。テキストエリアのコンテンツを html テーブルに渡そうとすると問題が発生します。

誰かが助けてくれれば幸いです。

HTMLは次のとおりです。

<form action="<?php session_start(); $areaText = $_POST['output'];  $selected_radio = $_POST['delimiter'];  echo $_SERVER['PHP_SELF'] ?>"
<?php 
if (!empty($_FILES['uploadedfile']) && file_exists($_FILES['uploadedfile']['tmp_name'])&& $_FILES['uploadedfile']['type'] == 'text/plain') {
    $file1 = $_FILES['uploadedfile']['tmp_name'];
    $lines = file($file1);
    foreach($lines as $line_num => $line)
    {
        echo $line;
    }
}
else {
    echo "Sorry, you're not allowed to upload these type of files.";
}
?></textarea> 
</form>

そして、ここにPHPがあります:

if (isset($_POST['output'])) {
    $string = $_POST['output'];
    $trimmedString = trim($string);
    echo '<div contenteditable><table id = "TestTable" border="1" width="100%" id="table1">';
    $lines = explode("\n", $trimmedString);
    foreach($lines as $line) {
        echo "<div contenteditable><tr></div>"; 
        $elements = explode($_POST['delimiter'], $line); 
        foreach($elements as $element) {
            echo "<td>" . $element . "</td>";
        }
        echo "</tr>";
    }
    echo '</table></div>'; 
}
?>

私はここから区切り文字を取っています:

<form method="post" id="form_732147" class="appnitro"  method="post" action="page2.php">
    <span>
        <label class="description" for="element_4">Choose a delimiter: </label>
        <input type="radio" name="delimiterr" value="," >Comma</br>
        <input type="radio" name="delimiter" value="." >Fullstop</br>
4

1 に答える 1

0
echo "<div contenteditable><tr></div>";

これは、タグのネストが正しくないため、html では許可されていません。

次のようなことを試してみてください。

foreach($lines as $line) {
    echo "<div contenteditable><tr>"; 
    $elements = explode($_POST['delimiter'], $line); 
    foreach($elements as $element) {
        echo "<td>" . $element . "</td>";
    }
    echo "</tr></div>";
}

では、どのような問題が発生しているのか、さらに詳しく説明していただけますか?

グリーツ

于 2013-10-16T13:39:05.317 に答える