1

Drupal の Hashtags モジュールでこのバグを解決しようとしています: http://drupal.org/node/1718154

#tag のように、「#」で始まるテキスト内のすべての単語に一致するこの関数があります。

function hashtags_get_tags($text) {
    $tags_list = array();
    $pattern = "/#[0-9A-Za-z_]+/";
    preg_match_all($pattern, $text, $tags_list);
    $result = implode(',', $tags_list[0]);
    return $result;
    }

などのページ内の内部リンクを無視する必要があります<a href="#reference">link</a>。または、より一般的には、HTML タグ内に表示される # で始まる単語 (その前に < があり、その後に > が続く) はすべて無視する必要があります。

どうすればこれを達成できますか?

4

3 に答える 3

0

preg_replaceを使用して、手前にタグを捨てることができます

function hashtags_get_tags($text) {
$tags_list = array();
$pattern = "/#[0-9A-Za-z_]+/";
$text=preg_replace("/<[^>]*>/","",$text);
preg_match_all($pattern, $text, $tags_list);
$result = implode(',', $tags_list[0]);
return $result;
}
于 2012-08-08T02:50:53.640 に答える