diff --git a/src/AlinkPostRenderer.php b/src/AlinkPostRenderer.php
index 78833d7..ee82fed 100644
--- a/src/AlinkPostRenderer.php
+++ b/src/AlinkPostRenderer.php
@@ -116,33 +116,57 @@ class AlinkPostRenderer {
   public function replace() {
     $dom = Html::load($this->content);
     $xpath = new \DOMXPath($dom);
-
+    $flag = 0;
     $this->existingLinks = $this->extractExistingLinks($xpath);
     $this->keywords = array_filter($this->getKeywords(), function (Keyword $word) {
       return !isset($this->existingLinks[$word->getUrl()]);
     });
 
     foreach ($xpath->query($this->xpathSelector) as $node) {
+      $map = new \Ds\Map();
       $text = $node->wholeText;
+      $hashop = explode(' ',$text);
+      foreach($hashop as $wordd){
+        $map->put($wordd,1);
+      }
       $replace = FALSE;
       if (empty(trim($text))) {
         continue;
       }
+      if($flag==0) {
       foreach ($this->keywords as $key => $word) {
-
-        // @TODO: Make it configurable replaceAll vs. replaceFirst
-        $text = $this->replaceFirst($word, '<a href="' . $word->getUrl() . '">' . $word->getText() . '</a>', $text, $count);
+          $hash[$word->getText()] = $word->getUrl();
+          $object[$word->getText()] = $word;
+        }
+        $flag=1;
+      }
+      foreach($hash as $name=>$url){
+       
+        $flaged = 0;
+        $var= explode(' ',$name);
+        foreach($var as $indiword){
+          if(!$map->haskey($indiword)){
+            $flaged = 1;
+            break;
+          }
+        }
+        if($flaged==0){
+        $text = $this->replaceFirst($object[$name], '<a href="key' . $name . 'key">' . 'key1'. $name .'key1'. '</a>', $text, $count);
+        $hashkey['key'. $name. 'key'] = $url;
+        $hashkey['key1'. $name. 'key1'] = $name;
         if ($count) {
           $replace = TRUE;
-          $this->addExistingLink($word);
-          break;
         }
+       }
       }
       if ($replace) {
+        foreach($hashkey as $key=>$value){
+          $text=str_replace($key,$value,$text);
+        }
         $this->replaceNodeContent($node, $text);
       }
     }
-
+    
     return Html::serialize($dom);
   }
 
