채택완료

해시태그 추출 관련 질문

2019-11-18 (월) 18:29:20 3,550

안녕하세요,
운영중인 사이트에 해시태그를 넣었는데요.
이렇게 하면 잘 가져오긴 하는데 본문 내용에 가끔 url에 붙어 있는 # 까지도 해시태그로 변환을 하더라고요.

http://sir.kr/#tap1

이런식이면 tap1 을 변환해서 링크에 문제가 생기더라고요.

그래서 #앞에 아무것도 안붙었을때만 적용하려면 어떻게 해야 할까요?

$regex = "/\\#([0-9a-zA-Z가-힣]*)/";

$str = preg_replace($regex, '<a href="/search.php?q=$1" class="hashtag">$0</a>', $str);

|

답변 1개

채택된 답변
+20 포인트

아래 예제를 참조해 보시죠.

$str = "ab cd #abcd  ";

$regex = "/\s+#([0-9a-zA-Z가-힣]+)/";

preg_match($regex, $str, $match);

echo "<a href=\"/search.php?q=$match[1]\" class=\"hashtag\">$match[0]</a>" ;  

답변을 작성하려면 로그인이 필요합니다.