私は現在、カスタムのBBCodeスタイルのパーサーを使用して、[b]のようなフォーラムスタイルのタグをHTMLに相当するものに変換する、ローカルグループ用の軽量の内部メッセージングスクリプトを開発しています。複数のハッシュタグを爆発
ハッシュタグのようなTwitter機能も含まれているので、ユーザーがテキストに複数のハッシュタグを入力するまでは、メッセージングシステム内で議論をタグ付けして追跡することができます。
一般的に、ユーザーはテキストをそのまま送信フォームに入力します。
SQLを使用すると、ディスカッショントラッカーはTrackDiscussion($ i)を呼び出すたびに最後の20個のメッセージとループを読み込みます。関数。 $ iパラメータは、ハッシュタグをチェックするためにテキスト/サブミッションが供給される場所です。
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;
}
このすべては、それがテキストに複数のハッシュタグを見つけるまで、正常に動作し、代わりの出力:
<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>
私は乱雑に謝罪しかし、私は、キーワードを分割する必要があると推測するのは間違いないでしょう。ほとんどの場合、爆発関数でしょうか?
誰かが私にそれをどこに置くかについてのポインタを私に与えることができれば、私は感謝以上のものになるでしょう。私はそれを何度も繰り返してきました。このような
おかげ
実際にリンクを生成するコードは、おそらく問題だものです。 – apokryfos
ツアーハッシュタグは$ keywordsに文字列として格納され、文字列を連結します。 trackDiscussion()から文字列を戻さず、配列を返します。 –