Changeset 22052


Ignore:
Timestamp:
2012/10/16 13:49:48 (8 years ago)
Author:
Seasoft
Message:

#1950 (SC_Utils にマルチバイト対応の trim メソッド群を追加)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/version-2_12-dev/data/class/util/SC_Utils.php

    r21927 r22052  
    17501750    } 
    17511751 
    1752  
     1752    /** 
     1753     * マルチバイト対応の trim 
     1754     * 
     1755     * @param string $str 入力文字列 
     1756     * @param string $charlist 削除する文字を指定 
     1757     * @return string 変更後の文字列 
     1758     */ 
     1759    static function trim($str, $charlist = null) { 
     1760        $re = SC_Utils_Ex::getTrimPregPattern($charlist); 
     1761        return preg_replace('/(^' . $re . ')|(' . $re . '$)/us', '', $str); 
     1762    } 
     1763 
     1764    /** 
     1765     * マルチバイト対応の ltrim 
     1766     * 
     1767     * @param string $str 入力文字列 
     1768     * @param string $charlist 削除する文字を指定 
     1769     * @return string 変更後の文字列 
     1770     */ 
     1771    static function ltrim($str, $charlist = null) { 
     1772        $re = SC_Utils_Ex::getTrimPregPattern($charlist); 
     1773        return preg_replace('/^' . $re . '/us', '', $str); 
     1774    } 
     1775 
     1776    /** 
     1777     * マルチバイト対応の rtrim 
     1778     * 
     1779     * @param string $str 入力文字列 
     1780     * @param string $charlist 削除する文字を指定 
     1781     * @return string 変更後の文字列 
     1782     */ 
     1783    static function rtrim($str, $charlist = null) { 
     1784        $re = SC_Utils_Ex::getTrimPregPattern($charlist); 
     1785        return preg_replace('/' . $re . '$/us', '', $str); 
     1786    } 
     1787 
     1788    /** 
     1789     * 文字列のトリム処理で使用する PCRE のパターン 
     1790     * 
     1791     * @param string $charlist 削除する文字を指定 
     1792     * @return string パターン 
     1793     */ 
     1794    static function getTrimPregPattern($charlist = null) { 
     1795        if (is_null($charlist)) { 
     1796            return '\s+'; 
     1797        } else { 
     1798            return '[' . preg_quote($charlist, '/') . ']+'; 
     1799        } 
     1800    } 
    17531801} 
Note: See TracChangeset for help on using the changeset viewer.