programing

jQuery를 사용하여 twitter 해시태그를 찾아 링크를 적용합니다.

css3 2023. 3. 26. 11:41

jQuery를 사용하여 twitter 해시태그를 찾아 링크를 적용합니다.

저는 jQuery의 프로가 아닙니다.이것은 비표준적인 질문인 것 같습니다.

기본적으로 워드프레스로 블로그를 만들고 있으며, 루프를 통해 제 트위터 프로필의 트윗을 볼 수 있습니다.이 트윗에서 해시태그(예: #foo)를 선택하고 해시태그에 다음과 같이 html 링크를 적용하는 방법을 알고 싶습니다.

<a class="hashtag" href="http://twitter.com/#search?q=foo">#foo</a>

이 링크는 해시태그 값(#을 뺀 값)도 #search에 넣어야 합니다.q= 링크의 일부입니다.

이것이 가능한가요? 만약 그렇다면 어떻게 해야 할까요?

고마워요, 찰리 라이언

편집:

해시태그 #foo는 h1의 일부이며 다음과 같은 단어를 구분하는 태그는 없습니다.

<h1>Lorem ipsum dolor sit amet #foo et adipiscing</h1>

따라서 기본적으로 #로 시작하는 모든 문자열을 검색하여 위와 같이 링크로 대체해야 합니다.

이러한 해시태그를 찾아 링크로 대체하고 백레퍼런스를 사용하여 일치하는 태그를 얻을 수 있는 정규 표현을 만들 수 있습니다.

hashtag_regexp = /#([a-zA-Z0-9]+)/g;

function linkHashtags(text) {
    return text.replace(
        hashtag_regexp,
        '<a class="hashtag" href="http://twitter.com/#search?q=$1">#$1</a>'
    );
} 

$(document).ready(function(){
    $('p').each(function() {
        $(this).html(linkHashtags($(this).html()));
    });
});

편집 : 해시태그가 있는 문자열을 받아들이는 함수 내에서 관련 코드를 이동시켜 태그가 링크로 대체된 동일한 문자열을 반환합니다.그런 식으로 jQuery에 의존하지 않습니다.

$('p').html(linkHashtags($('p').html()));

요소의 html 값을 전달하고 호출 결과로 값을 바꿉니다.linkHashtags사용하기 쉽게 jQuery 플러그인을 작성할 수 있습니다.

그 정규 표현은 약간의 작업이 필요할지도 모르기 때문에 해시태그에 어떤 문자를 사용할 수 있는지 모르겠지만, 이해하셨을 거라고 생각합니다.

복잡한 정규식을 가지고 장난칠 필요는 없습니다./statuses/user_timeline을 사용하여 Twitter API에서 사용자 타임라인을 요청하면 include_entities라는 파라미터를 true로 설정할 수 있습니다.다음의 메뉴얼을 참조해 주세요.

http://dev.twitter.com/doc/get/statuses/user_timeline

그러면 엔티티라고 불리는 모든 트윗에 JSON 개체가 추가됩니다.엔티티는 트윗의 모든 해시태그에 대한 모든 세부사항을 깔끔하게 구문 분석하여 저장합니다.트윗에는 해시태그 텍스트와 해시태그 시작 위치 및 정지 위치가 표시됩니다.태그를 표시하기 전에 링크된 버전의 태그를 텍스트로 다시 대체할 수 있습니다.

왜 jQuery에서 이 작업을 수행하려고 합니까?Wordpress 플러그인 사용:트위티!이 플러그인은 Twitter를 쉽게 전환합니다.@usernames및 #해시태그를 Twitter의 관련 장소에 링크합니다.

항상 DOM 의 변경을 최소한으로 억제할 필요가 있습니다.

언급URL : https://stackoverflow.com/questions/4913555/find-twitter-hashtags-using-jquery-and-apply-a-link