연속된 \n 생략하는 방법 관련 입니다..

연속된 \n 생략하는 방법 관련 입니다..

QA

연속된 \n 생략하는 방법 관련 입니다..

본문

안녕하세요~  

write.skin.php에서 라디오 및 텍스트 인풋 등으로 입력 받은 ex1, ex2_1, ex2_2, ex3 ~~ ex97 와 같은 필드들을

아래와 같이 function fwrite_submit(f) 안에서 wr_content 값에 넣어

본문에 자동으로 입력하고 있습니다.

 

function fwrite_submit(f)
{
    // ### 아래의 함수로 wr_content에 여분필드의 값을 넣어 대체함
    f.wr_content.value = f.wr_subject.value+'\n'+f.wr_name.value+'\n'+f.ex1.value+'\n'+f.ex2_1.value+'\n'+f.ex2_2.value+ ~중략~ +'\n'+f.ex100.value;

 

특별할 게 없기에 입력은 잘 됩니다.

 

문제는 랜덤으로 ex의 값 (wr_1에 배열로 넣은 값)이 없는 경우가 많은데 

값이 없는 ex의 자리에 '\n'만 나오게 되기에

글쓰기 후 본문 내용을 보면 여기저기 연속된 엔터공백이 휑하니 발생하여

가독성이 너무 안좋아지게 됩니다...

 

## ex의 입력값이 없을 때 해당 ex 앞에 붙은 줄바꿈 \n을 생략하는 방법이 있을까요...? -_-;;;;;;

 

 


 

이 질문에 댓글 쓰기 :

답변 2

뭐 이런건 단순하게 가는게 방법일수도있겠네요

var ex_value = '';

if(f.ex1.value) ex_value += '\n'+f.ex1.value;

if(f.ex2.value) ex_value += '\n'+f.ex2.value;

if(f.ex3.value) ex_value += '\n'+f.ex3.value;

ex가 100까지 있는걸로보아 여기 조건을 for문돌려도 되겠구요

 

f.wr_content.value = f.wr_subject.value+'\n'+f.wr_name.value+ex_value;

그다음엔 이렇게 추가해주시면 되겠네요

Policia님 정말 감사드립니다. ^^

처음에 f.wr_content.value = f.wr_subject.value+'\n'+f.wr_name.value+ex_value; 뒤에다가 변수 부분을 적었다가 결과물에 undefined 오류가 났었는데

자세히 답변을 보니 변수 부분을 앞에 적으라는 말씀이셨더군요 ^^;;;;;;
다시 한번 감사드립니다~~♥


$ex_array = [f.ex1.value, f.ex2.value ... f.ex100.value];
// null 제거및 개행문자로 join
$except_string = join('\n', array_filter($ex_array));
f.wr_content.value = f.wr_subject.value+'\n'+f.wr_name.value+'\n'+$except_string

 

$ex_array 부분은 $ex_array = array() 로 선언하고 for 문으로 대체 가능하겠네요

답변을 작성하시기 전에 로그인 해주세요.
전체 5
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT