現在、私はこの関数を絵文字に使用しています。
function emoticons($text) {
$icons = array(
':)' => '<img src="/images/blank.gif" alt="smile" class="icon_smile" />',
':-)' => '<img src="/images/blank.gif" alt="smile" class="icon_smile" />',
':D' => '<img src="/images/blank.gif" alt="smile" class="icon_laugh" />',
':d' => '<img src="/images/blank.gif" alt="laugh" class="icon_laugh" />',
';)' => '<img src="/images/blank.gif" alt="wink" class="icon_wink" />',
':P' => '<img src="/images/blank.gif" alt="tounge" class="icon_tounge" />',
':-P' => '<img src="/images/blank.gif" alt="tounge" class="icon_tounge" />',
':-p' => '<img src="/images/blank.gif" alt="tounge" class="icon_tounge" />',
':p' => '<img src="/images/blank.gif" alt="tounge" class="icon_tounge" />',
':(' => '<img src="/images/blank.gif" alt="sad face" class="icon_sad" />',
':o' => '<img src="/images/blank.gif" alt="shock" class="icon_shock" />',
':O' => '<img src="/images/blank.gif" alt="shock" class="icon_shock" />',
':0' => '<img src="/images/blank.gif" alt="shock" class="icon_shack" />',
':|' => '<img src="/images/blank.gif" alt="straight face" class="icon_straight" />',
':-|' => '<img src="/images/blank.gif" alt="straight face" class="icon_straight" />',
':/' => '<img src="/images/blank.gif" alt="straight face" class="icon_straight" />',
':-/' => '<img src="/images/blank.gif" alt="straight face" class="icon_straight" />'
);
return strtr($text, $icons);
}
ただし、リンクを入力すると、の:/
一部http://
が置き換えられます。
コード(コードボックスを作成するために各行の前に4つのスペース)と同じですが、何らかの理由で単純なものも)
(ウィンクに)置き換えられます:
このようなすべてのアイコンを置き換えるよりも、これに対するより良い解決策はありますか?明らかにうまくいきません。私はグーグルでたくさん検索しました、そして、より良い方法を見つけませんでした。また、上記の連想配列の各絵文字の前にスペースを入れてみましたが、前に何も付けずに:)を入力しただけでは機能しません。