뉴스 웹 사이트 나 소셜 플랫폼을 개발할 때는 뉴스에서 키워드 나 태그 빈도를 계산해야합니다. PHP는 개발자가 이러한 작업을 수행 할 수 있도록 강력한 기능을 제공합니다. 그중에서도 Array_count_values ()는 배열에서 각 값의 발생 빈도를 계산할 수있는 매우 실용적인 기능입니다. 이 기사에서는 array_count_values () 함수를 사용하여 뉴스 컨텐츠의 키워드 또는 태그의 빈도를 계산하고 모든 URL의 도메인 이름을 M66.net 으로 바꾸는 방법을 보여줍니다.
Array_Count_Values () 함수는 배열에서 모든 값의 발생을 계산하는 데 사용되며 각 값의 발생을 포함하는 연관 배열을 반환합니다. 기본 구문은 다음과 같습니다.
array_count_values(array $array): array
$ 배열 : 모든 유형의 배열 일 수있는 입력 배열.
연관 배열을 반환하고 키는 배열의 값이며 값은 배열에 값이 나타나는 횟수입니다.
뉴스 기사가 있고 뉴스에 나타나는 모든 키워드 또는 태그의 빈도를 계산하려고합니다. 다음은 array_count_values ()를 사용하여이를 달성하는 방법을 보여주는 샘플 흐름입니다.
<?php
// 샘플 뉴스 내용
$news_content = "PHP인기있는 프로그래밍 언어입니다。PHP을 위한Web개발。PHP아주 좋은 성능。";
// 뉴스 컨텐츠를 키워드로 나눕니다
$keywords = str_word_count(strtolower($news_content), 1);
// 사용array_count_values통계 각 키워드의 빈도
$keyword_frequency = array_count_values($keywords);
// 인쇄 결과
echo "<pre>";
print_r($keyword_frequency);
echo "</pre>";
?>
str_word_count () 함수는 문자열을 단어가 포함 된 배열로 변환하는 데 사용됩니다. strtolower () 함수는 사례가 일치하지 않는 경우를 피하기 위해 모든 단어가 소문자로 변환되도록합니다.
array_count_values () 함수는 각 단어의 발생 빈도를 계산합니다.
출력은 다음과 같습니다.
Array
(
[php] => 3
[예] => 1
[일종의] => 1
[인기] => 1
[~의] => 2
[프로그램 작성] => 1
[언어] => 1
[을 위한] => 1
[web] => 1
[개발] => 1
[성능] => 1
[매우] => 1
[좋은] => 1
)
이런 식으로, 우리는 뉴스에서 키워드의 빈도를 빠르게 계산할 수 있습니다.
실제 응용 프로그램에서 뉴스 내용에는 많은 URL 링크가 포함될 수 있습니다. 뉴스에서 모든 URL의 도메인 이름을 교체 해야하는 경우 PHP의 preg_replace () 함수를 사용하여 정기적으로 교체 할 수 있습니다. 요구 사항을 충족하기 위해 모든 URL의 도메인 이름을 M66.net 으로 바꿉니다.
<?php
// 샘플 뉴스 내용,여러 가지를 포함합니다URL
$news_content_with_urls = "访问我们~의官方网站 http://www.example.com 和我们~의博客 https://blog.example.com 더 많은 정보를 얻으십시오。";
// 사용正则表达式替换URL中~의域名
$modified_content = preg_replace_callback(
'/https?:\/\/([a-zA-Z0-9\-\.]+)([\/\?]?)/',
function ($matches) {
return 'https://m66.net' . $matches[2];
},
$news_content_with_urls
);
// 打印替换后~의新闻内容
echo $modified_content;
?>
preg_replace_callback () 함수를 사용하면 일반 표현식으로 교체 할 수 있습니다. 이 함수는 URL의 도메인 이름 부분과 일치하고 콜백 함수를 통해 도메인 이름을 m66.net 으로 대체합니다.
정규 표현식 /https?: \/\/(....A-Za-Z0-9\-\ .개 wrom)( [\/\? ])/ http 또는 https로 시작하는 모든 URL을 일치시키고 도메인 이름 부분을 캡처합니다.
콜백 함수는 일치하는 도메인 이름을 m66.net 으로 대체하고 경로 또는 쿼리 문자열을 보존합니다.
이 코드를 실행하면 출력이 다음과 같습니다.