0
문자열의 일치하는 부분을 강조하는 방법 :이것은 PHP에서 내 현재 함수 PHP
function highlight_keywords($keyword, $string) {
return preg_replace("/\p{L}*?".preg_quote($keyword)."\p{L}*/ui", "<span class=\"h\">$0</span>", $string);
}
CSS 클래스 :
span.h {
font-weight: 700;
color: @color_action;
}
예 :
echo highlight_keywords('anto', 'Andres Santos');
문제 결과는 다음과 같습니다.
Andres <span class="h">Santos</span>
,
... 그리고 그것이 있어야 :
Andres S<span class="h">anto</span>s
왜의 \ P {L} *이 있습니까? 패턴의 일부? 왜 그냥'return preg_replace ("/". preg_quote ($ keyword). "/" $ 0 ", $ string)" –
@BrandonHorsley 네 말이 맞아. 귀하의 답변은 아래 첫 번째 답변보다 훨씬 간단합니다. – andufo
정적 값과 일치시키기 위해 정규 표현식을 사용할 필요가 없습니다. 대문자와 소문자가 구별되지 않는 경우,'return str_replace ($ keyword, ''. $ keyword. '', $ string),' – chris85