ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/trunk/webapp/lib/smarty_plugins/modifier.t_decoration_ktai.php @ 6407

Last change on this file since 6407 was 6407, checked in by ebihara, 12 years ago

#333:携帯版文字装飾の文字サイズがPC版の変更に追いついていなかったのを修正

File size: 1.3 KB
Line 
1<?php
2/**
3 * @copyright 2005-2008 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7function smarty_modifier_t_decoration_ktai($string)
8{
9    $regexp = '/(&lt;|<)(op:.+?)(?:\s+code=(&quot;|")(#[0-9a-f]{3,6})\3)?\s*(&gt;|>)(.*?)\1\/\2\5/ims';
10    $converted =  preg_replace_callback($regexp, '_smarty_modifier_t_decoration_convert_ktai', $string);
11
12    return $converted;
13}
14
15function _smarty_modifier_t_decoration_convert_ktai($matches)
16{
17    $tagname = $matches[2];
18    $colorcode = $matches[4];
19    $classname = strtr($tagname, ':', '_');
20    $value = smarty_modifier_t_decoration_ktai($matches[6]);
21
22    $convert_list = array(
23        'op:b' => 'b',
24        'op:u' => 'u',
25        'op:i' => 'i',
26        'op:large' => 'font size="5"',
27        'op:small' => 'font size="1"',
28        'op:color' => 'font',
29    );
30
31    // 文字装飾タグが有効かどうか
32    if (!db_decoration_is_enabled4tagname($tagname)) {
33        return $matches[0];
34    }
35
36    // 変換対象かどうか
37    if (!($c_tagname = $convert_list[$tagname])) {
38        return $matches[0];
39    }
40
41    $opt = '';
42    if ($tagname == 'op:color' && $colorcode) {
43        $opt = ' color="' . $colorcode . '" ';
44    }
45
46    $result = '<' . $c_tagname . $opt . '>' . $value . '</' . $c_tagname . '>';
47
48    return $result;
49}
50
51?>
Note: See TracBrowser for help on using the repository browser.