コード例 #1
0
 /**
  * {@inheritdoc}
  */
 public function transform(MessageInterface $message)
 {
     $text = $this->transformLinks($message->getMessage());
     $replacement = '<a href="' . $this->userUrlPattern . '"' . ($this->userLinkTarget ? ' target="' . $this->userLinkTarget . '"' : '') . '>@$1</a>';
     $text = preg_replace('/@(\\w+)/', $replacement, $text);
     $replacement = '<a href="' . $this->tagUrlPattern . '"' . ($this->tagLinkTarget ? ' target="' . $this->tagLinkTarget . '"' : '') . '>#$1</a>';
     $text = preg_replace('/#(\\w+)/', $replacement, $text);
     return $text;
 }
コード例 #2
0
 private function transformUsers(MessageInterface $message)
 {
     $text = $message->getMessage();
     if (!$message->getUsers()) {
         return $text;
     }
     $words = explode(' ', $text);
     foreach ($message->getUsers() as $indexes => $user) {
         foreach (explode(',', $indexes) as $index) {
             if (isset($words[$index])) {
                 $words[$index] = '<a href="' . str_replace('$1', $user, $this->userUrlPattern) . '"' . ($this->userLinkTarget ? ' target="' . $this->userLinkTarget . '"' : '') . '>' . $words[$index] . '</a>';
             }
         }
     }
     return implode(' ', $words);
 }