You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
if (!function_exists('GetMentions')) {
function GetMentions($String) {
$Mentions = array();
// This one grabs mentions that start at the beginning of $String
preg_match_all(
'/(?:^|[\s,\.>])@(\w{3,20})\b/i',
$String,
$Matches
);
if (count($Matches) > 1) {
$Result = array_unique($Matches[1]);
return $Result;
}
return array();
}
}
コメント中に
@UserName
と記述することによって、プロフィールへの自動リンクが張られる機能を指す。「ユーザー名に日本語を許容する」課題(#4)に関連した課題。
現状
ASCII ユーザー名にしか対応していない。
日本語ユーザー名には、リンクが張られない。
拡張
日本語ユーザー名にもリンクが張られるように拡張する。
実装方法
リンク元の処理
/library/core/class.format.php
上記の正規表現を変更する。
日本語ユーザー名の正規表現の条件は、 #4 を参照。
リンク先の処理
リンク元の処理を日本語ユーザー名に対応させても、そのままではジャンプ後に 404 エラーとなる。
/applications/dashboard/models/class.usermodel.php
上記の Where() の実引数を変更する。
これで、日本語ユーザー名でもプロフィールページが正常に表示されるようになる。
@リプライ ユーザー 一覧取得処理
モデルから呼び出されている。
/library/core/functions.general.php
上記の正規表現を変更する。
日本語ユーザー名の正規表現の条件は、 #4 を参照。
これはコアハックではなく
conf/bootstrap.before.php
内でオーバーライドできる。その他留意事項
関連で、ハッシュタグサーチ (
#検索語句
で検索リンクが張られる機能) も日本語対応する。該当コードは Mentions() 内部。
課題は #6 を参照。
The text was updated successfully, but these errors were encountered: