>백엔드 개발 >PHP 튜토리얼 >PHP 인턴십 팁(간단한 요약을 생성하는 방법)

PHP 인턴십 팁(간단한 요약을 생성하는 방법)

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB원래의
2016-07-29 08:50:511071검색

요약 생성

최근에 요구 사항을 추가해야 합니다. html 코드에서 한자를 추출하여 요약으로 변환해야 합니다.

<code><span>//匹配中文utf8编码</span><span><span>function</span><span>utf8_summary</span><span>(<span>$article</span>)</span> {</span><span>$match</span> = <span>"/^[\x{4e00}-\x{9fa5}]+$/u"</span>;<span>//正则表达式,匹配中文</span>
    preg_match_all(<span>$match</span>,<span>$article</span>,<span>$temp</span>);
    <span>$summary</span> = <span>""</span>;
    <span>foreach</span> (<span>$temp</span><span>as</span><span>$key</span> => <span>$value</span>) {
        <span>$sum</span> = implode(<span>''</span> , <span>$value</span>);
        <span>$summary</span> = <span>$sumary</span> . <span>$sum</span>;
    }<span>//将中文拼接起来</span><span>return</span><span>$summary</span>;
}
</code>

질문은 다음과 같습니다.
1. 연속된 한자가 나오면 빼기가 불가능합니다
2. 이 방법은 한자와 문자가 혼합되어 있을 때 효과적입니다
이유:
아마도 순수 중국어일 경우 인코딩이 다른 것으로 변경되어 정규식이 일치할 수 없지만, 중국어와 문자가 혼합된 경우 문자 인코딩이 utf8이므로 실제로 클라이언트에서는 일치할 수 있습니다. label에 중국어를 래핑하고 setchars=utf8을 사용하여 헤드 헤더를 추가하여 지정할 수 있지만 클라이언트의 엔터티 클래스가 이미 작성되어 있어 변경하기가 너무 번거로워 백그라운드에서 방법을 찾아야 했습니다. 두 번째 방법을 시도했습니다:

<code><span>$function</span> url_summary(<span>$article</span>) {
    <span>$article</span> = urlencode();
    <span>$match</span> = <span>"/^%[a-zA-Z0-9]{2}/"</span>;
    preg_match_all(<span>$match</span>,<span>$article</span>,<span>$temp</span>);
    <span>$summary</span> = <span>""</span>;
    <span>foreach</span> (<span>$temp</span><span>as</span><span>$key</span> => <span>$value</span>) {
        <span>$sum</span> = implode(<span>''</span> , <span>$value</span>);
        <span>$summary</span> = <span>$sumary</span> . <span>$sum</span>;    
    }
<span>$summary</span> = decode(<span>$summary</span>);
<span>return</span><span>$summary</span>;
}</code>

이 방법의 아이디어는 다음과 같습니다. 글자가 아닌 숫자와 숫자가 URL로 인코딩되면 �와 유사한 문자열이 된다는 것이 관찰됩니다. 꺼내서 서로 이어 붙이면 해독 후 한자를 얻게됩니다.

나중에 알아봤는데 사실은 함수입니다

인코딩을 변경할 수 있는 함수가 있다는 걸 알았습니다

<code><span>iconv(<span>"gbk"</span>,<span>"utf-8"</span>,<span>"php中文转码"</span>)</span>;<span>//把中文gbk编码转为utf8</span><span>iconv(<span>"utf-8"</span>,<span>"gbk"</span>,<span>"php中文转码"</span>)</span>;<span>//把中文utf8编码转为gbk</span></code>

그런데 꼭 사용하고 싶다면 이 기능을 사용하려면 .ini 파일에서 php Open Extension=php_iconv.dll로 이동하여 iconv 기능 라이브러리를 설치해야 합니다
, 그게 더 문제죠.
마지막으로, Strip_tags() 함수를 사용하면 문제를 해결할 수 있다는 것을 알았습니다
이 함수는 html 태그를 제거한 다음
섹션을 가로챌 수 있습니다. mb_substr(summary,0,50);//문자
를 가로채고  
str_replace(' ','',
summary) //이스케이프 문자 제거
요약을 생성할 수 있으며 나중에 문장 분할 및 줄 바꿈과 같은 더 많은 기능을 추가할 수 있습니다.

').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); }); 위 내용은 PHP 인턴십 팁(간단한 요약 작성 방법)과 PHP 콘텐츠를 포함하여 소개되어 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.