0
내 웹 사이트는 사용자 데이터를 저장하고 다시 검색 할 수있는 기능을 제공합니다. 검색 할 때 쿼리가 포함 된 모든 데이터가 인쇄됩니다. 일치하는 부분 문자열을 강조하고 싶습니다. 단순화 측면에서동시에 HTML로 텍스트 살생 및 강조 표시
나는 이런 식으로했다 :
function highlight_and_sanitize_search_result($data, $query){
$highlighted = str_replace(
$query,
'<span class="highlight">' . $query . '</span>',
$data
);
return sanitize($highlighted);
}
나는 함수의 반환 값을 출력
, 내 HTML 코드는 살균되지 않습니다.Query: match
Data: Here is the match
Output: Here is the <span class="match">match<span>
그래서 내가 그것을 다른 방법으로 주위 넣어 줄 알았는데 :하지만 그것을 소독 할 때, 내
<span>
거짓도 살균됩니다
function sanitize_and_highlight_search_result($data, $query){
$sanitized = sanitize($highlighted);
return str_replace(
$query,
'<span class="highlight">' . $query . '</span>',
$data
);
}
을하지만 경우에도 오류로 연결 위생 처리 된 HTML 코드의 일부인 검색어를 찾으십시오.
Query: &am
Data: You & me
Output: You <span class="highlight">&am</span>p; me
위생과 강조 표시를 모두 수행하는 올바른 방법은 무엇입니까?