웹 사이트 컨텐츠 관리 시스템을 개발하거나 기사를 표시 할 때는 종종 기사의 키워드를 강조 표시해야하며, 이는 사용자가 더 빨리 팔로우하는 정보를 찾는 데 도움이 될 수 있습니다. 이 요구 사항은 PHP의 Scripos 기능을 통해 쉽게 달성 할 수 있습니다. stripos 함수는 지정된 문자열에서 다른 문자열의 위치를 찾는 대소 문자열 조회 함수입니다. 이를 통해 기사 내용을 반복하고 키워드의 위치를 찾아 HTML 태그로 랩하여 강조 표시 할 수 있습니다.
stripos 함수의 기본 구문은 다음과 같습니다.
stripos(string $haystack, string $needle, int $offset = 0): int|false
$ haystack : 검색 할 대상 문자열, 즉 기사 내용.
$ 니들 : 찾아야 할 부분 문자열, 즉 강조 표시 해야하는 키워드입니다.
$ OFFSET : 문자열에서 어디에서 찾아야하는지 기본값은 0입니다.
반환 값 : 키워드가 발견되면 대상 문자열에서 키워드의 위치를 반환합니다. 찾을 수 없으면 거짓을 반환합니다.
Stripos 는 사례에 민감하지 않기 때문에 키워드의 경우가 기사의 경우와 다르더라도 성공적으로 찾을 수 있습니다.
다음으로, 모든 일치하는 키워드를 찾아서 강조하기 위해 기사 내용과 키워드를 매개 변수로 사용하는 PHP를 통해 함수를 작성합니다.
<?php
function highlightKeyword($content, $keyword) {
// 키워드가 비어 있는지 확인하십시오
if (empty($keyword)) {
return $content;
}
// 사용 stripos 키워드를 찾으십시오,그리고 하이라이트
$start = 0;
while (($pos = stripos($content, $keyword, $start)) !== false) {
// 찾은 키워드 위치에 삽입하십시오 HTML 태그를 강조하십시오
$content = substr_replace($content, "<span style='background-color: yellow;'>$keyword</span>", $pos, strlen($keyword));
// 검색 위치를 업데이트하십시오
$start = $pos + strlen($keyword);
}
return $content;
}
$article = "공식 웹 사이트에 오신 것을 환영합니다!여기,당신은 다양한 정보를 찾을 수 있습니다 PHP 프로그래밍 튜토리얼 및 리소스。";
$keyword = "PHP";
$highlightedArticle = highlightKeyword($article, $keyword);
echo $highlightedArticle;
?>
HighlowerKeyword 함수 :이 기능은 $ 컨텐츠 와 $ 키워드의 두 매개 변수를 수신합니다. 함수 내부에서는 StripoS를 사용하여 기사 내용에 나타나는 모든 키워드를 찾고 Substr_Replace 로 교체하고 각 일치하는 키워드에 노란색 배경 HTML 스팬 태그를 추가하여 강조 표시를 달성합니다.
루프 검색 키워드 : Stripos 에서 키워드를 찾은 후 Substr_Replace를 사용하여 해당 위치에 HTML 태그를 삽입하고 키워드를 랩합니다. 다음 루프에서는 현재 위치의 다음 위치에서 계속 찾아보십시오.
반환 결과 : 루프 처리 후 기능은 처리 된 컨텐츠를 반환하면 모든 키워드가 강조 표시됩니다.
우리의 기사 내용이 다음과 같다고 가정합니다.
공식 웹 사이트에 오신 것을 환영합니다!여기,당신은 다양한 정보를 찾을 수 있습니다 PHP 프로그래밍 튜토리얼 및 리소스。
우리가 전달하는 키워드가 PHP 인 경우 출력 결과는 다음과 같습니다.
공식 웹 사이트에 오신 것을 환영합니다!여기,당신은 다양한 정보를 찾을 수 있습니다 <span style='background-color: yellow;'>PHP</span> 프로그래밍 튜토리얼 및 리소스。
키워드 PHP는 노란색 배경의 스팬 태그로 포장됩니다. 브라우저에서 렌더링하면 디스플레이 효과가 강조 표시됩니다.
다른 하이라이트 효과를 달성하기 위해 필요에 따라 SPAN 태그의 스타일을 수정할 수 있습니다. 예를 들어, 배경색, 글꼴 색상 또는 대담한 텍스트를 변경하십시오. 예를 들어:
$content = substr_replace($content, "<span style='background-color: yellow; font-weight: bold;'>$keyword</span>", $pos, strlen($keyword));
이런 식으로, 당신은 강조를보다 눈길을 끄는 것을 만들 수 있습니다.
PHP의 Scripos 기능을 통해 기사에서 키워드를 쉽게 찾아서 강조하여 사용자 경험을 향상시킬 수 있습니다. 이것은 단순히 중첩 문자열과 HTML 태그로 수행됩니다. 여러 키워드를 다루거나 다른 강조 표시 스타일 등과 같은 요구에 따라 더 확장하고 최적화 할 수 있습니다.