Не удается удалить пробелы из текстовой области - PullRequest
0 голосов
/ 04 января 2012

У меня есть два файла. Первый файл - это форма, а второй - результат.

Первый файл:

<form action="show.php" method=post>
<textarea name="test" cols=40 rows=6>
</textarea>
<input type=submit value="submit">
</form>

Второй файл:

<?php
$text = trim($_POST['test']);
$textAr = explode("\n", $text);

for ($i=0; $i<sizeof($textAr); $i++)
{
    $link = str_replace(" ", "", $textAr[$i]);
    echo $link."---<br>";
}
?>

Когда я ввожу в форму, например,

one
two
three

результат:

one ---
two ---
three---

в конце строки: один и два есть пробелы, которые я не могу удалить. Кто-нибудь может мне помочь с этим?

Спасибо, я использовал $ link = str_replace ("\ r", "", $ textAr [$ i]) и теперь все в порядке

Ответы [ 6 ]

1 голос
/ 05 января 2012

В основном, textarea переводы строк \r\n в Internet Explorer и \n во всех других браузерах (включая Mac). IE использует \n с версии 9.


Есть множество способов исправить ваш код. Например, вы можете попробовать preg_split():

preg_split('/(?:\r\n|\n)/', $text);

Однако я не проверял эффективность этого предложения.

Также, очень важно, обязательно поставьте \r\n перед \n в регулярном выражении!


Кроме того, trim() более подходит, чем str_replace() (конечно, если он вам все еще нужен).

1 голос
/ 04 января 2012

Вы можете использовать функцию trim вместо str_replace, чтобы сделать это.

1 голос
/ 04 января 2012

Используйте trim() вместо str_replace

0 голосов
/ 27 июня 2017

Я знаю, что уже поздно, но могу помочь другим.

используйте это, когда требуется отступ документа.

$('document').ready(function()
{
    $('textarea').each(function(){
            $(this).val($(this).val().trim());
        }
    );
});
0 голосов
/ 05 января 2012

Попробуйте nl2br() функцию, может быть возврат каретки или новая строка (\ r \ n, \ n \ r, \ n и \ r).

0 голосов
/ 04 января 2012

Может быть, это пробелы без пробелов, например, без пробелов (nbsp) или какая-то часть комбинации разрывов строк?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...