>  기사  >  백엔드 개발  >  위키 링크에서 데이터를 추출하는 방법은 무엇입니까?

위키 링크에서 데이터를 추출하는 방법은 무엇입니까?

WBOY
WBOY앞으로
2024-02-05 23:12:081022검색

위키 링크에서 데이터를 추출하는 방법은 무엇입니까?

질문 내용

mwparserfromhell 라이브러리에서 반환된 위키 링크에서 데이터를 추출하고 싶습니다. 예를 들어 다음 문자열을 구문 분석하고 싶습니다.

으아악

캐릭터를 사용한다면 | 分割字符串,则它不起作用,因为图像描述中也有一个使用 | 的链接: [[玛丽亚·斯克沃多夫斯卡-居里博物馆|出生地]].

정규식을 사용하여 먼저 문자열의 모든 링크를 바꾼 다음 분할했습니다. (이 경우) 작동하지만 깔끔한 느낌은 아닙니다(아래 코드 참조). 이와 같은 문자열에서 정보를 추출하는 더 좋은 방법이 있습니까?

[[file:warszawa, ul. freta 16 20170516 002.jpg|thumb|upright=1.18|[[maria skłodowska-curie museum|birthplace]] of marie curie, at 16 freta street, in [[warsaw]], [[poland]].]]

정답


.filter_wikilinks() 返回的链接是 wikilink 类,该类具有 titletext 속성입니다.

  • title 返回链接的标题:file:warszawa, ul。弗雷塔16 20170516 002.jpg
  • text 返回链接的其余部分:thumb|upright=1.18|[[maria skłodowska-curie museum|birthplace]] 玛丽·居里 (marie curie),地址:16 freta street,[[华沙]],[[波兰]]。

이것들은 wikicode개체로 반환됩니다.

실제 텍스트는 항상 마지막 조각이므로 먼저 다음 정규식을 사용하여 다른 조각을 찾아야 합니다.

([^[]|]*|)+

  • ( ): 그룹
    • [^[]|]*: 대괄호나 세로 막대가 아닌 문자 0개 이상
    • |: 텍스트 파이프라인
  • +: 1개 이상

마지막으로 일치하는 끝 인덱스부터 문자열 끝까지의 모든 것이 마지막 조각입니다.

으아악

위 내용은 위키 링크에서 데이터를 추출하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 stackoverflow.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제