백엔드 개발 PHP 튜토리얼 拆分、婚配关键字

拆分、婚配关键字

Jun 13, 2016 pm 01:01 PM
encoding gt iconv nbsp this

拆分、匹配关键字
如何在一篇文章内拆分和匹配关键字?例如以下文章:

姐弟恋真的没好结果吗?我老公比我小五岁,我们刚结婚那会几乎天天吵,本来感情基础就没打好,结婚不久又有了孩子,孩子现在三岁了,在这三年里不知吵了多少会,可能现实生活就是这样的,两口子可能都吵过架,后来经过几次吵架,我也懂得了很多,两个人就的互相体谅,互相包容,忍让对方。我老公比较孩子气,动不动就发火,一点小事就生气,我们在一起这几年几乎没出去玩过,也没合过影,老公花钱也是没个计划,讲究名牌,吃也的要好的,不让买就生气要不不理你,自己老是有理的不行,我们收入一般,他的花销远远超出我们的收入,我是急在心里也不知怎么办,因为他不听你说,他还挺高傲自己认为别人都不如他,说我是傻逼,什么也不懂,真不知道你怎么长大的,就这样我也忍了,谁让我当初选的,还有为了孩子我可以忍,就是希望有一天他能发现自己也有错误,可是最近我发现我越忍让他越张狂,出去干活了,就的给你找点事干,说我出去挣钱养你们,你就不能闲着,好了你说干什么我干忍了,看见我没穿袜子说把我脚剁了,我也忍了,我不想和他吵没意思的,晚上回来饭做好了,吃了饭要吃烤红薯,我说给你弄去,需要买去,他说他姐夫说跑黑车,我说你也去吧,就这句话不爱听了,说我掉钱眼里了,就急了说我什么也不想,就会瞎BB,反正什么难听说什么,说我不干活,怎么不我不去挣钱,我说现在孩子小不能自理,我管好孩子就是我的任务,你应该出去挣钱,我说等子上学了我自然就挣去了,我说了他应该管,又不对,说凭什么我应该管你们呀,又急了就开始发疯了一直在说些他自己认为的事把我想想的特别坏,还的让你承认他说的对,我无语了不说了,让着他让他说,他又嫌你不说,我说你大人不计小人过我错了你就包容我一下吧别生气他说不行没完接着又是一顿数落,我现在都不知该如何是好,我忍让他那么多是让他从中得到点领悟,人无完人,把自己不对的也改改,发现点自己的缺点,但是没有反而更猖狂了,我又不是一个智慧的女人我现在该怎么办,希望大家帮帮忙,我很需要你们谢谢啦!



我想在用户发表该文章时,把文章的某些词语记录下来作为关键字以作他用。有没有什么算法/思路可以实现这个需求呢?还是只能人工阅读然后总结/抽出关键字?
------解决方案--------------------
1.有关键词表(可以添加)
2.计算关键词频率

不要自己做分词,呵呵
编辑(这里指的人/职位)还是需要的
------解决方案--------------------
1 系统关键字表, 会自动匹配替换关键字。
2 用户录入时指定关键字

------解决方案--------------------
说明:
1、我使用的编码是 gbk 的,如果是 utf-8 的请自行删除有关编码的部分
2、处理用的文档时楼主贴出的示例文字
3、代码是现写的,有关算法问题请指正

iconv_set_encoding("internal_encoding", "utf-8");<br>
iconv_set_encoding("output_encoding", "gbk");<br>
ob_start("ob_iconv_handler"); <br>
<br>
$fn = '如何在一篇文章内拆分和匹配关键字_例文.txt';<br>
<br>
$p = new T;<br>
$ar = $p->parse($fn);<br>
print_r($ar);<br>
//print_r($p->dat);<br>
<br>
class T {<br>
  var $maxlen = 4;//最大组词长度<br>
  var $dat = array();<br>
  var $dict = array();<br>
  function get($offs=0) {<br>
    if($this->i + $offs >= $this->len <br><font color="#FF8000">------解决方案--------------------</font><br> $offs >= $this->maxlen) return false;<br>
    $ch = $this->doc[$this->i + $offs];<br>
    if(in_array($ch, $this->dict)) return false;<br>
    return $ch;<br>
  }<br>
  function parse($filename) {<br>
    $this->dict = explode('<br><font color="#FF8000">------解决方案--------------------</font><br>', iconv('gbk', 'utf-8', ',<br><font color="#FF8000">------解决方案--------------------</font><br>。<br><font color="#FF8000">------解决方案--------------------</font><br>;<br><font color="#FF8000">------解决方案--------------------</font><br>:<br><font color="#FF8000">------解决方案--------------------</font><br>“<br><font color="#FF8000">------解决方案--------------------</font><br>”<br><font color="#FF8000">------解决方案--------------------</font><br>?'));<br>
    $s = file_get_contents($filename);<br>
    $s = iconv('gbk', 'utf-8', $s);<br>
    preg_match_all('/./u', $s, $r);<br>
    $this->doc = $r[0];<br>
    $this->i = 0;<br>
    $this->len = count($this->doc);<br>
    while($this->i len) {<br>
      if(($ch = $this->get()) !== false) { <div class="clear">
                 
              
              
        
            </div>
로그인 후 복사
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

해결 방법: 조직에서 PIN 변경을 요구합니다. 해결 방법: 조직에서 PIN 변경을 요구합니다. Oct 04, 2023 pm 05:45 PM

해결 방법: 조직에서 PIN 변경을 요구합니다.

Windows 11에서 창 테두리 설정을 조정하는 방법: 색상 및 크기 변경 Windows 11에서 창 테두리 설정을 조정하는 방법: 색상 및 크기 변경 Sep 22, 2023 am 11:37 AM

Windows 11에서 창 테두리 설정을 조정하는 방법: 색상 및 크기 변경

Windows 11에서 제목 표시줄 색상을 변경하는 방법은 무엇입니까? Windows 11에서 제목 표시줄 색상을 변경하는 방법은 무엇입니까? Sep 14, 2023 pm 03:33 PM

Windows 11에서 제목 표시줄 색상을 변경하는 방법은 무엇입니까?

Windows 11/10 복구의 OOBELANGUAGE 오류 문제 Windows 11/10 복구의 OOBELANGUAGE 오류 문제 Jul 16, 2023 pm 03:29 PM

Windows 11/10 복구의 OOBELANGUAGE 오류 문제

Windows 11에서 작업 표시줄 축소판 미리 보기를 활성화 또는 비활성화하는 방법 Windows 11에서 작업 표시줄 축소판 미리 보기를 활성화 또는 비활성화하는 방법 Sep 15, 2023 pm 03:57 PM

Windows 11에서 작업 표시줄 축소판 미리 보기를 활성화 또는 비활성화하는 방법

화웨이 GT3 Pro와 GT4의 차이점은 무엇입니까? 화웨이 GT3 Pro와 GT4의 차이점은 무엇입니까? Dec 29, 2023 pm 02:27 PM

화웨이 GT3 Pro와 GT4의 차이점은 무엇입니까?

Windows 11의 디스플레이 크기 조정 가이드 Windows 11의 디스플레이 크기 조정 가이드 Sep 19, 2023 pm 06:45 PM

Windows 11의 디스플레이 크기 조정 가이드

Windows 11에서 밝기를 조정하는 10가지 방법 Windows 11에서 밝기를 조정하는 10가지 방법 Dec 18, 2023 pm 02:21 PM

Windows 11에서 밝기를 조정하는 10가지 방법

See all articles