У меня есть форма ввода с двумя текстовыми областями, позволяющими пользователю вводить слова, разделенные запятыми в каждой.
<form action="http://www.example.com/output.php" method="post">
<table border="0">
<tr>
<td>
<h3 class="title">Prefix</h3>
<textarea cols="34" rows="8" name="cat[]"></textarea></td>
<td>
<h3 class="title">Suffix</h3>
<textarea cols="34" rows="8" name="cat[]"></textarea></td>
</tr>
</table>
Enter words separated by a comma.
<input type="submit" value="Go" /> </form>
Затем он передает их в выходную форму, которая разбивает слова через запятую, а затем объединяет их вместе, пока не будут созданы все возможные перестановки слов. Затем он выводит результаты в текстовую область. Моя проблема в том, что выходные данные (хотя они правильно отформатированы и имеют разрывы строк между каждой перестановкой) имеют тег br в конце каждой строки. Например.
testtest2<br />
testtest2<br />
testtest4<br />
testetest2<br />
testetest2<br />
testetest4<br />
Форма вывода:
$cat = $_POST['cat']; //trait set for textbox inputs
foreach(array_keys($cat) as $key){
$cat[$key] = explode(",", str_replace(' ','',$cat[$key]));
}
function showCombinations($string, $traits, $i)
{
if ($i >= count($traits))
echo trim($string)."\n";
else
{
foreach ($traits[$i] as $trait)
showCombinations("$string$trait", $traits, $i + 1);
}
}
?>
<form name=form1 method=post action=''''>
<textarea><?php ShowCombinations('', $cat, 0); ?></textarea>
</form>
- Когда я удаляю теги textarea для вывода, он работает нормально.
- Когда я оставляю теги textarea и удаляю / заменяю обрезку эха ($ string). "\ N"; с "\ r", или "n", или "\ n \ r",
исчезает, но я также теряю перевод строки
- Заменить обрезку эха ($ string). "\ N"; с эхом nl2br ($ string); тогда тот же результат, что и 2.
- Заменить на echo nl2br ($ string). "\ N"; тогда тот же результат, что и 1.
Буду признателен за любую помощь. Мой мозг нуб собирается взорваться.