base() 공개 정적인 메소드

public static base ( )
예제 #1
0
 public static function write($name, $value, $expires = null)
 {
     $self = self::getInstance();
     $expires = $self->expire($expires);
     $path = Mapper::normalize(Mapper::base() . $self->path);
     return setcookie($self->name . '[' . $name . ']', self::encrypt($value), $expires, $path, $self->domain, $self->secure);
 }
예제 #2
0
 public function parse($text, $use_emoticons = true, $emoticons_path = "/images/emoticons/")
 {
     $text = trim($text);
     $this->use_emoticons = $use_emoticons;
     $this->emoticons_path = $emoticons_path;
     $smiles = $this->smiles;
     // BBCode [code]
     if (!function_exists('escape')) {
         function escape($s)
         {
             global $text;
             $text = strip_tags($text);
             $code = $s[1];
             $code = htmlspecialchars($code);
             $code = str_replace("[", "[", $code);
             $code = str_replace("]", "]", $code);
             return '<pre><code>' . $code . '</code></pre>';
         }
     }
     $text = preg_replace_callback('/\\[code\\](.*?)\\[\\/code\\]/ms', "escape", $text);
     // BBCode to find...
     $in = array('/\\[b\\](.*?)\\[\\/b\\]/ms', '/\\[i\\](.*?)\\[\\/i\\]/ms', '/\\[u\\](.*?)\\[\\/u\\]/ms', '/\\[img\\](.*?)\\[\\/img\\]/ms', '/\\[email\\](.*?)\\[\\/email\\]/ms', '/\\[url](.*?)\\[\\/url\\]/ms', '/\\[url\\="([^\\"]+)"\\](.*?)\\[\\/url\\]/ms', '/\\[size\\="?(.*?)"?\\](.*?)\\[\\/size\\]/ms', '/\\[color\\="?(.*?)"?\\](.*?)\\[\\/color\\]/ms', '/\\[quote](.*?)\\[\\/quote\\]/ms', '/\\[list\\=(.*?)\\](.*?)\\[\\/list\\]/ms', '/\\[list\\](.*?)\\[\\/list\\]/ms', '/\\[\\*\\]\\s?(.*?)\\n/ms');
     // And replace them by...
     $out = array('<strong>\\1</strong>', '<em>\\1</em>', '<u>\\1</u>', '<img src="' . Mapper::base() . '\\/images\\/\\1" alt="\\1" />', '<a href="mailto:\\1">\\1</a>', '<a href="' . Mapper::base() . '\\1' . '">\\1</a>', '<a href="' . Mapper::base() . '\\1' . '">\\2</a>', '<span style="font-size:\\1%">\\2</span>', '<span style="color:\\1">\\2</span>', '<blockquote>\\1</blockquote>', '<ol start="\\1">\\2</ol>', '<ul>\\1</ul>', '<li>\\1</li>');
     $text = preg_replace($in, $out, $text);
     if ($this->use_emoticons) {
         foreach ($smiles as $key => $smile) {
             $smiles[$key] = $this->mapSmiles(strtolower($key), $smile);
         }
         $text = str_replace(array_keys($smiles), $smiles, $text);
     }
     // paragraphs
     $text = str_replace("\r", "", $text);
     $text = "<p>" . preg_replace("%(\n){2,}%", "</p><p>", $text) . "</p>";
     $text = nl2br($text);
     // clean some tags to remain strict
     // not very elegant, but it works. No time to do better ;)
     if (!function_exists('removeBr')) {
         function removeBr($s)
         {
             return str_replace("<br />", "", $s[0]);
         }
     }
     $text = preg_replace_callback('/<pre>(.*?)<\\/pre>/ms', "removeBr", $text);
     $text = preg_replace('/<p><pre>(.*?)<\\/pre><\\/p>/ms', "<pre>\\1</pre>", $text);
     $text = preg_replace_callback('/<ul>(.*?)<\\/ul>/ms', "removeBr", $text);
     $text = preg_replace('/<p><ul>(.*?)<\\/ul><\\/p>/ms', "<ul>\\1</ul>", $text);
     return $text;
 }