현재 사용자 정의 BBCode 스타일 파서를 사용하여 [b]와 같은 포럼 스타일 태그를 해당 HTML로 변환하는 로컬 그룹에 대한 간단한 내부 메시징 스크립트를 개발 중입니다.폭발 다수의 해시 태그
나는 또한 해시 태그 기능과 같은 트위터를 포함시켜 사용자가 텍스트에 해시 태그를 두 개 이상 입력 할 때까지 잘 작동하는 메시징 시스템 내에서 토론하고 태그를 달고 추적 할 수 있습니다.
일반적으로 사용자는 제출 양식에 텍스트를 입력해야합니다.
SQL을 사용하면 토론 추적 프로그램은 매번 TrackDiscussion ($ i)을 호출 할 때 마지막 20 개의 메시지와 루프를로드합니다. 기능. $ i 매개 변수는 텍스트/제출이 해시 태그를 확인하기 위해 제공되는 곳입니다.
<a href="http://example.com/tag/hashtag1">#hashtag1</a>, <a href="http://example.com/tag/hashtag2">#hashtag2</a>
그것은 출력 :
<a href="http://example.com/tag/hashtag1,hashtag2">#hashtag1, #hashtag2</a>
나는 지저분한 사과가 출력 대신 텍스트에서 하나 이상의 해시 태그를 발견 때까지
function TrackDiscussion($i,$str=1) {
$keywords="";
preg_match_all('/#(\w+)/',$i,$matches);
$i = 0;
if($str){
foreach($matches[1] as $match) {
$count=count($matches[1]);
$keywords .= "$match";
$i++;
if ($count>$i) $keywords .= ", ";
}
}
else{
foreach($matches[1] as $match) {
$keyword[]=$match;
}
$keywords=$keyword;
}
return $keywords;
}
이 모두가 잘 작동 코드,하지만 내가 바로 키워드를 분리 할 필요가 있다고 추측하는 것이 옳은가?
누구든지 내가 어디에 놓을 지에 대한 포인터를 줄 수 있다면, 나는 감사 할 가치가있다. 나는 몇 번에 걸쳐 그것을 반복 해 왔고, 나는 내 실수를 발견하지 못했다.
감사합니다.
실제로 링크를 생성하는 코드는 아마도 문제의 하나입니다. – apokryfos
둘러보기 해시 태그는 $ keywords에 문자열로 저장되며 문자열을 연결합니다. trackDiscussion()에서 문자열을 반환하지 않고 배열을 반환합니다. –