제목 | 검색시 검색해당 글자에 특정 색상 입히는 작업을 하고 있는데요. | ||
---|---|---|---|
글쓴이 | amkor | 작성시각 | 2014/05/21 11:46:18 |
|
|||
foreach ($data_result["qry"] as $i => $row) { $data_list[$i]->title = (strpos($searchkey, 'title')) ? search_font(utfChange($row["title"]), $searchvalue) : utfChange($row["title"]);----생략---- } 보시면 $searchvalue는 검색어 $searchkey 검색 필드입니다. 소스 보시면 searchkey의 검색 필드가 title이면 search_font 함수로 빠져 나가는건데요.. 이 함수는 helper 함수로 저장했고 자동으로 불러내도록 했습니다. function search_font($str, $stx, $tag_open='', $tag_close = '') { if ($str == '') return FALSE; if ($stx != '') { // 문자앞에 \ 를 붙인다. $src = array('/', '|'); $dst = array('\/', '\|'); if (!trim($stx)) return $str; // 검색어 전체를 공란으로 나눈다 $s = explode(' ', $stx); // '/(검색1|검색2)/i' 와 같은 패턴을 만듬 $pattern = ''; $bar = ''; foreach($s as $row) { if (trim($row) == '') continue; $tmp_str = str_replace($src, $dst, quotemeta($row)); $pattern .= $bar . $tmp_str . '(?![^<]*>)'; $bar = '|'; } return preg_replace('/('.$pattern.')/i', $tag_open.'\\1'.$tag_close, $str); // 기존 // return preg_replace('/('.preg_quote($stx, '/').')/i', $tag_open."\\1".$tag_close, $str); } return $str; } 그런데 검색만 잘 되고 아무 반응이 없네요 ㅠ,ㅠ 왜 그런건지 ㅠ,ㅠ |
|||
다음글 | 세션에 대한 질문입니다(Rest와 병행입니다!) (2) | ||
이전글 | 500에러 (7) | ||
변종원(웅파)
/
2014/05/21 13:48:09 /
추천
0
|
amkor
/
2014/05/21 13:51:13 /
추천
0
아예 변환이 안되네요,.ㅠ,ㅠ
|
변종원(웅파)
/
2014/05/21 13:55:23 /
추천
0
$searchkey 이게 어디서 나온건지 관련부분을 볼 수가 없으니 답변하기 힘듭니다.
변환이 안됐다면 foreach단에서 작동을 안하거나 해당 함수를 실행했지만 제대로 작동안했거나 2가지 케이스만 남았네요. 게시판 이동합니다. |
amkor
/
2014/05/21 13:58:54 /
추천
0
<select name="searchkey" style="width:100px"> <option value="title" <?=($searchkey=="title") ? "selected" : "";?>>제 목</option> <option value="content" <?=($searchkey=="content") ? "selected" : "";?>>내 용</option> </select> 이것은 제목으로 검색할껀지 , 내용으로 검색 할껀지 검색 필드입니다. 만약 제목으로 검색하면 $searchkey 은 title로 나옵니다. |
amkor
/
2014/05/21 14:04:36 /
추천
0
search_font 함수 alert로 찍어 보았지만 안나오는것 봐서 (strpos($searchkey, 'title'))
이부분이 문제가 있는거 같습니다.. |
한대승(불의회상)
/
2014/05/21 14:12:46 /
추천
0
$searchkey 에 들어 있는 데이타 확인해 보세요.
|
amkor
/
2014/05/21 14:13:01 /
추천
0
아 알고 보니깐 <code> </code> 이 html 태그가 안먹히네요.. font로 바꾸니깐 되네요 ㅡㅡ;
|
amkor
/
2014/05/21 14:21:31 /
추천
0
(strpos($searchkey, 'title')) <-- 이부분은 왜 안되는건지 ㅠ,ㅠ 그래서 일단은 ($searchkey =='title') 이것으로 대체 했는데 ㅠ,ㅠ
|
아예 변환이 안된건지 체크해보세요.