2013-07-08 2 views
2

У меня есть страница, чтобы добавить записи в журнал, который был создан несколько лет назад. Однако в разделе комментариев этой страницы каждый раз, когда вы нажимаете кнопку ввода, добавляется дополнительная строка.Как удалить дополнительные строки в php

Например, если я введу это и добавить его в журнал:

TEST 1           
TEST 2   
TEST 3 

Он бы как:

TEST 1 

TEST 2 

TEST 3 

Я нашел раздел комментарии в большом PHP файл и был интересно, как я отредактировал бы это, чтобы устранить эту проблему? Любая помощь будет принята с благодарностью. Благодарю.

PHP КОД:

<tr><td colspan='3'>&nbsp;</td></tr> 
    <tr><td class="master-menu"><div class='mar'>*Comments:</div><TEXTAREA rows='5' cols='30' NAME='notes' onkeypress="return beta (event,letters+numbers+signs+custom)"><?php echo $notes; ?></textarea></div> 

PHP код, где $ ПРИМЕЧАНИЯ ПОЯВЛЯЕТСЯ:

echo “<input name =’defaultcomm’ type =’hidden’ value =’$notes’>”; 
    $headnotes = $notes; 
    $notes = str_replace(“\\”,””,$getrow[‘Notes’]); 
    $notes = str_replace(“'”,”’”,$notes); 
    $notes = ereg_replace(“[\n\r]+”,”\n”,$notes); 
+0

похоже, что вы заменяете каждую новую строку и каждый возврат каретки с помощью новой строки. это означает, что если вы получите «\ n \ r», который вы будете использовать на некоторых машинах, вы получите две строки новой строки. (Следует также отметить, что использование ereg_replace не рекомендуется с PHP 5.3) – SamHuckaby

+0

@samhuckaby как бы изменить текущий код, чтобы получить текст точно по мере его ввода? –

+0

@SamHuckaby благодарит за заметку, ее просто потому, что это было создано очень давно. –

ответ

2
$notes = ereg_replace(“[\n\r]+”,”\n”,$notes); 

эта строка кода создает два символа новой строки, потому что вы заменяете как/п и/г с/n, линии, которые вы печатаете, могут иметь один из них на конце. в результате вашей двойной перевод строки

ereg_replace теперь осуждается по documentation, вы можете попробовать str_replace("\s\s", "\n", $notes)

редактировать окончательный ответ был таков:

$notes = trim(preg_replace('/\r\r+/', '<br>', $sqlresult['Notes'])); 
0

Начиная с этого ответа над, так как другой информации не получилось.

Интересно, связано ли это с кавычками окон, которые есть там. Попробуйте скопировать и вставить код ниже вместо существующего кода, который выглядит так же:

echo "<input name ='defaultcomm' type ='hidden' value ='$notes'>"; 
$headnotes = $notes; 
$notes = str_replace("\\","",$getrow['Notes']); 
$notes = str_replace("'","'",$notes); 
$notes = ereg_replace("[\n\r]+","\n",$notes); 

Тогда дайте мне знать, если вы получаете то же самое, или новую ошибку.

+0

все равно дает мне ту же ошибку. –

+0

@omarK дайте вышеприведенную попытку. Это может оказаться полезным. – SamHuckaby