채택완료

문자열 비교

2015-05-06 (수) 17:31:17 3,853

php에서는 제가 찾고자 하는 문자열이

해당 문자열에 있는지 없는 지 어떻게 코딩하나요?

str = 사과+바나나+딸기+배+메론+과자;

이런식의 문자열이 있다면..

만약 사과, 바나나, 딸기, 배, 메론을 검색하여 있으면

각 과일들을

과일 :  사과 바나나 딸기 배 메론

이런식으로 출력하고자 합니다.

if와 mb_strpos 을 이용하면 될까요?

|

답변 1개 / 댓글 3개

채택된 답변
+20 포인트

$str = '사과+바나나+딸기+배+메론+과자';

$strArr=explode('+', $str);

$searchk[]='사과'; //검색할 과일 배열
$searchk[]='배';

$aa=array_intersect($strArr, $searchk);
$bb = implode(" ", $aa);
echo '과일:'.$bb;​

답변에 대한 댓글 3개

만약
$str = '사과입니다+바나나에요+딸기+배라구요+메론+과자";
이런식으로 db값이 존재하고 있으며,
사과 바나나 딸기 배 등 과일을 검색하여
출력하고자 합니다.

str에 정확히 사과로 있는게 아니라 사과입니다에서 '사과'라는 문자열을 찾아서 출력해줘야 하는데 .이럴경우 문자열을 검색조건에 하나씩 다 잘라줘야하나여?
그러게 질문을 실제상황으로 명확하게 해야 원하는 답변을 빠르게 얻을 수 있는 게지요

$str = '사과입니다+바나나에요+딸기+배라구요+메론+과자';
$schStr[]='사과';
$schStr[]='바나나';
$schStr[]='딸기';
$schStr[]='배';

$resultStr = '';
foreach( $schStr as $vv){
if( strpos($str, $vv) !==false) $resultStr .= $deli.$vv; $deli = ' ';
}
echo $resultStr;
음
제가 원하는 값이 나오긴 하는데..
첫번째 글은 사과
두번쨰 글은 사과 바나나 사과 바나나
세번째 글은 딸기 딸기 딸기 딸기

이런식으로 점점 값이 반복하면서 나오네요

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