2012-01-04 2 views
0

У меня есть два файла. Первый файл представляет собой форму, а второй - результат.Не удается удалить пробелы из textarea

Первый файл:

<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--- 

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

Спасибо Я использовал $ ссылку = str_replace ("\ г", "", $ TEXTAR [$ я]), и теперь все в порядке

+0

Возможно, из-за возврата каретки в текстовом поле. попробуйте удалить \ n и \ r из значения. –

ответ

1

Использование trim() вместо str_replace

1

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

0

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

0

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

+0

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

+0

прохладный. nl2br() специально для этих ситуаций! :) –

1

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


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

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

Однако, я не проверял выступления этого предложения.

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


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

0

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

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

$('document').ready(function() 
{ 
    $('textarea').each(function(){ 
      $(this).val($(this).val().trim()); 
     } 
    ); 
}); 
+0

Есть ли способ решить с помощью css? – Bipon

Смежные вопросы