2016-04-16 12 views
-1

PHPによるテキストのリンクをどのようにアクティブにすることができますか?一部のテキストにリンクを追加する

例:

activelinks($string, $params=array()) { 
} 

//and using: 
activelinks("Please select {yes} or {no}.", array("first url", second url)); 

すべての単語の{}アクティブリンクに変換されなければならないとテキストで:

HTML:

Please select <a href="first url">yes</a> or <a href="second url">no</a> 
私はこのように機能する必要がある

+0

このようにリンクを追加する理由はありますか?全体のアプリケーションを遅くするでしょう。 – Mike

+0

次のようにしてください:$ number = 9; $ str = "北京"; $ txt = sprintf( "%sには百万円の自転車があります。"、$ number、$ str); echo $ txt; – naf4me

+0

@Mikeお返事ありがとうございます。私は言語ファイルのためにこの方法を使用する必要があります。私はテキストを1つの場所に保持し、それを簡単に翻訳するための何らかの方法が必要です。だから私は追加の部分なしでテキストをいっぱいにしておきたいのです。 – Rasvet

答えて

0

T彼のコードは解決策です:

public function getString($str, $params = array()) { 
    if (preg_match_all("|" . preg_quote('{') . "(.*?)" . preg_quote('}') . "|si", $this->s[$str], $words)) { 
     $replace = array(); 
     foreach ($params as $position => $url) { 
      if (isset($words[0][$position])) { 
       $replace[$position] = "<a href=\"{$url}\">{$words[1][$position]}</a>"; 
      } 
     } 
     $this->s[$str] = str_replace($words[0], $replace, $this->s[$str]); 
    } 

    return $this->s[$str]; 
} 

あなたはどう思いますか?

関連する問題