테스트 사이트 - 개발 중인 베타 버전입니다

여분 필드 값의 일부만 출력하고 싶습니다 채택완료

nae 5년 전 조회 2,262

wr_1에 "홍_홍길동"이란 값을 다중셀렉터로 넣은후

리스트 및 읽기 화면에서

"홍" 또는 "홍길동"을 구분자"_" 앞이나 뒤쪽의 글을 출력하고 싶은데요

이럴떄 어떻게 처리해야하는지요?

댓글을 작성하려면 로그인이 필요합니다.

답변 4개

채택된 답변
+20 포인트
B
5년 전

참고로 더 추가합니다.

</p>

<p>$view['wr_1'] = '홍_홍길동';

if ( strpos($view['wr_1'], '_')!==false ) { // _ 문자가 존재하면

    // 아래 둘 중 원하는 한 줄 사용

    list($wr_1) = explode('_', $view['wr_1'], 2); // _ 기준으로 2개로 분리한 앞쪽. 홍

    list(,$wr_1) = explode('_', $view['wr_1'], 2); // _ 기준으로 2개로 분리한 뒤쪽. 홍길동

} else { // _ 문자 없으면

    $wr_1 = $view['wr_1']; // 입력값 있으면 그대로 할당

}

$wr_1 = strlen($wr_1) ? $wr_1 : '미입력'; // 문자열 길이 있으면 값 그대로, 없으면 미입력 할당

echo $wr_1;</p>

<p>

로그인 후 평가할 수 있습니다

답변에 대한 댓글 4개

n
nae
5년 전
위와 같이 사용할때 한번은 문제가 없지만
읽기에서는 list($wr_1) = explode('_', $view['wr_1'], 2);
목록에서는 list(,$wr_1) = explode('_', $view['wr_1'], 2);
사용했더니 두개씩 나오는 문제가 있네요
B
BiHon
5년 전
두개씩 나오다뇨?

앞쪽과 뒤쪽을 구하는 방법을 모두 남긴 것이니 둘 중에서 원하는 쪽의 코드만 사용하면 됩니다.
n
nae
5년 전
두개가 나온다는게 아니구요
읽기화면에서 는 wr_1필드 값은 뒤에 값을
리스트에서는 wr_1필드값의 앞부분을 사용하려고하는데요
list($wr_1) = explode('_', $view['wr_1'], 2);를 한번만 사용해도 두개가 같이 출력되서 혹시나 싶어 문의드린겁니다
B
BiHon
5년 전
질문과 댓글의 차이. 이 댓글을 끝으로 EOA 처리.

1. 읽기 화면 view.skin.php 파일에서 뒤쪽 값 사용
2. 목록 화면 list.skin.php 파일에서 앞쪽 값 사용

댓글을 작성하려면 로그인이 필요합니다.

</p>

<p>$wr_1 = '홍_홍길동';</p>

<p>$wr_1e = explode("_", $wr_1);</p>

<p> </p>

<p>print_r($wr_1e); // Array ( [0] => 홍 [1] => 홍길동 )</p>

<p>echo $wr_1e[0]; // 홍</p>

<p>ehco $wr_1e[1]; // 홍길동</p>

<p>

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

서잰션
5년 전

고정된 패턴( _ )이라면 

$strpld =explode('_' , 문자열);

$cnt = count($strpld);

for($i = 0 ; $i < $cnt ; $i++){

echo($strpld[$i] . "<br/>");

}

이런 형식도 사용할 수 있고

 

고정된 문자가 없는 문자열인 경우 , 

substr(문자열, 시작위치, 길이)

이렇게 하시면 될거같아요

 

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

프라푸치노K

데이터를 뽑은 후 php에서 문자열 가공하시면 어떨까요

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인