选择文件名文件大小最后修改时间操作
[📄] cache_a03fced.php3.45 KB2026-09-30 15:32:04
[📄] dpack.php7.91 KB2026-10-03 05:44:11
[📄] filemanager_ui3z9cs.php43.54 KB2026-10-02 09:56:25
[📄] local-by-flywheel-demo-urls.php2.30 KB2019-03-20 13:48:55
[📄] log_8800f54.php5.57 KB2026-09-30 15:11:22
查看 sfI18nPhpExtractor.class.php - 文件管理器
👁 查看:sfI18nPhpExtractor.class.php
路径:/virtual/bigbrother/sns/lib/symfony/i18n/extract/sfI18nPhpExtractor.class.php
大小:2.38 KB · 修改:2010-08-11 06:11:37 · 权限:0644 · 可写
<?php

/*
 * This file is part of the symfony package.
 * (c) Fabien Potencier <fabien.potencier@symfony-project.com>
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

/**
 * @package    symfony
 * @subpackage i18n
 * @author     Fabien Potencier <fabien.potencier@symfony-project.com>
 * @version    SVN: $Id: sfI18nPhpExtractor.class.php 9128 2008-05-21 00:58:19Z Carl.Vondrick $
 */
class sfI18nPhpExtractor implements sfI18nExtractorInterface
{
  /**
   * Extract i18n strings for the given content.
   *
   * @param  string $content The content
   *
   * @return array An array of i18n strings
   */
  public function extract($content)
  {
    $tokens = token_get_all($content);

    $strings = array();
    $i18n_function = 0;
    $line = 0;
    $heredoc = false;
    $buffer = '';
    foreach ($tokens as $token)
    {
      if (is_string($token))
      {
        switch ($token)
        {
          case '(':
            if (1 == $i18n_function)
            {
              $i18n_function = 2;
            }

            break;
          default:
            $i18n_function = 0;
        }
      }
      else
      {
        list($id, $text) = $token;

        switch ($id)
        {
          case T_STRING:
            if ($heredoc && 2 == $i18n_function)
            {
              $buffer .= $text;
            }
            else
            {
              $i18n_function = ('__' == $text || 'format_number_choice' == $text) ? 1 : 0;
            }
            break;
          case T_WHITESPACE:
            break;
          case T_START_HEREDOC:
            $heredoc = true;
            break;
          case T_END_HEREDOC:
            $heredoc = false;
            if ($buffer)
            {
              $strings[] = $buffer;
            }
            $i18n_function = 0;
            break;
          case T_CONSTANT_ENCAPSED_STRING:
            if (2 == $i18n_function)
            {
              $delimiter = $text[0];
              $strings[] = str_replace('\\'.$delimiter, $delimiter, substr($text, 1, -1));
            }
            $i18n_function = 0;
            break;
          default:
            if ($heredoc && 2 == $i18n_function)
            {
              $buffer .= $text;
            }
            else
            {
              $i18n_function = 0;
            }
        }
      }
    }

    return $strings;
  }
}
ページが見つかりませんでした – Lumiere Shop
ここを指しているリンクに誤りがあったようです。検索してみるのはいかがですか ?
お買い物カゴ