| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403 |
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=gbk" />
- <meta name="language" content="zh-cn" />
- <link rel="stylesheet" type="text/css" href="css/style.css" />
- <link rel="stylesheet" type="text/css" href="css/api.css" />
- <script type="text/javascript" src="js/jquery.js"></script>
- <title>XSUtil</title>
- </head>
- <body>
- <div id="apiPage">
- <div id="apiHeader">
- <a href="http://www.xunsearch.com" target="_blank">Xunsearch PHP-SDK</a> v1.3.2 API 参考文档
- </div><!-- end of header -->
- <div id="content" class="api-index">
- <h1>XSUtil</h1>
- <div id="nav">
- <a href="index.html">All Packages</a>
- | <a href="#methods">方法(函数)</a>
- </div>
- <table class="summaryTable docClass">
- <colgroup>
- <col class="col-name" />
- <col class="col-value" />
- </colgroup>
- <tr>
- <th>包</th>
- <td><a href="index.html#XS.util">XS.util</a></td>
- </tr>
- <tr>
- <th>继承关系</th>
- <td>class XSUtil</td>
- </tr>
- <tr>
- <th>版本</th>
- <td>1.0.0</td>
- </tr>
- <tr>
- <th>源代码</th>
- <td><a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSUtil.class.php">sdk/php/util/XSUtil.class.php</a></td>
- </tr>
- </table>
- <div id="classDescription">
- XSUtil 工具程序通用代码</div>
- <a name="properties"></a>
- <a name="methods"></a>
- <div class="summary docMethod">
- <h2>Public 方法</h2>
- <p><a href="#" class="toggle">隐去继承来的方法</a></p>
- <table class="summaryTable">
- <colgroup>
- <col class="col-method" />
- <col class="col-description" />
- <col class="col-defined" />
- </colgroup>
- <tr>
- <th>名称</th><th>描述</th><th>定义于</th>
- </tr>
- <tr id="convertIn">
- <td><a href="XSUtil.html#convertIn-detail">convertIn()</a></td>
- <td>把用户输入的字符串转换为 UTF-8 编码</td>
- <td>XSUtil</td>
- </tr>
- <tr id="convertOut">
- <td><a href="XSUtil.html#convertOut-detail">convertOut()</a></td>
- <td>把 UTF-8 字符串转换为用户编码</td>
- <td>XSUtil</td>
- </tr>
- <tr id="fixWidth">
- <td><a href="XSUtil.html#fixWidth-detail">fixWidth()</a></td>
- <td>修正字符串至固定宽度</td>
- <td>XSUtil</td>
- </tr>
- <tr id="flush">
- <td><a href="XSUtil.html#flush-detail">flush()</a></td>
- <td>刷新标准输出缓冲区</td>
- <td>XSUtil</td>
- </tr>
- <tr id="getOpt">
- <td><a href="XSUtil.html#getOpt-detail">getOpt()</a></td>
- <td>取得命令行参数</td>
- <td>XSUtil</td>
- </tr>
- <tr id="parseOpt">
- <td><a href="XSUtil.html#parseOpt-detail">parseOpt()</a></td>
- <td>解析命令行参数</td>
- <td>XSUtil</td>
- </tr>
- <tr id="setCharset">
- <td><a href="XSUtil.html#setCharset-detail">setCharset()</a></td>
- <td>设置输出、输入编码</td>
- <td>XSUtil</td>
- </tr>
- </table>
- </div>
- <a name="events"></a>
- <h2>方法明细</h2>
- <div class="detailHeader" id="convertIn-detail">
- convertIn()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public static string <b>convertIn</b>(string $buf)</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">$buf</td>
- <td class="paramTypeCol">string</td>
- <td class="paramDescCol">要转换字符串</td>
- </tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol">string</td>
- <td class="paramDescCol">转换后的字符串</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSUtil.class.php#L78">sdk/php/util/XSUtil.class.php#L78</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public static function </span><span style="color: #0000BB">convertIn</span><span style="color: #007700">(</span><span style="color: #0000BB">$buf</span><span style="color: #007700">)<br />{<br /> if (</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$charset </span><span style="color: #007700">!== </span><span style="color: #0000BB">null</span><span style="color: #007700">)<br /> return </span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$buf</span><span style="color: #007700">, </span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">, </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$charset</span><span style="color: #007700">);<br /> return </span><span style="color: #0000BB">$buf</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>把用户输入的字符串转换为 UTF-8 编码</p>
- <div class="detailHeader" id="convertOut-detail">
- convertOut()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public static string <b>convertOut</b>(string $buf)</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">$buf</td>
- <td class="paramTypeCol">string</td>
- <td class="paramDescCol">要转换字符串</td>
- </tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol">string</td>
- <td class="paramDescCol">转换后的字符串</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSUtil.class.php#L66">sdk/php/util/XSUtil.class.php#L66</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public static function </span><span style="color: #0000BB">convertOut</span><span style="color: #007700">(</span><span style="color: #0000BB">$buf</span><span style="color: #007700">)<br />{<br /> if (</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$charset </span><span style="color: #007700">!== </span><span style="color: #0000BB">null</span><span style="color: #007700">)<br /> return </span><span style="color: #0000BB">XS</span><span style="color: #007700">::</span><span style="color: #0000BB">convert</span><span style="color: #007700">(</span><span style="color: #0000BB">$buf</span><span style="color: #007700">, </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$charset</span><span style="color: #007700">, </span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">);<br /> return </span><span style="color: #0000BB">$buf</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>把 UTF-8 字符串转换为用户编码</p>
- <div class="detailHeader" id="fixWidth-detail">
- fixWidth()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public static type <b>fixWidth</b>(string $text, int $size, string $pad=' ')</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">$text</td>
- <td class="paramTypeCol">string</td>
- <td class="paramDescCol">要修正的字符串</td>
- </tr>
- <tr>
- <td class="paramNameCol">$size</td>
- <td class="paramTypeCol">int</td>
- <td class="paramDescCol">修正的目标宽度</td>
- </tr>
- <tr>
- <td class="paramNameCol">$pad</td>
- <td class="paramTypeCol">string</td>
- <td class="paramDescCol">用于填充补足的字符</td>
- </tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol">type</td>
- <td class="paramDescCol"></td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSUtil.class.php#L32">sdk/php/util/XSUtil.class.php#L32</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public static function </span><span style="color: #0000BB">fixWidth</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">, </span><span style="color: #0000BB">$size</span><span style="color: #007700">, </span><span style="color: #0000BB">$pad </span><span style="color: #007700">= </span><span style="color: #DD0000">' '</span><span style="color: #007700">)<br />{<br /> for (</span><span style="color: #0000BB">$i </span><span style="color: #007700">= </span><span style="color: #0000BB">$j </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">; </span><span style="color: #0000BB">$i </span><span style="color: #007700">< </span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">) && </span><span style="color: #0000BB">$j </span><span style="color: #007700">< </span><span style="color: #0000BB">$size</span><span style="color: #007700">; </span><span style="color: #0000BB">$i</span><span style="color: #007700">++, </span><span style="color: #0000BB">$j</span><span style="color: #007700">++)<br /> {<br /> if ((</span><span style="color: #0000BB">ord</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">]) & </span><span style="color: #0000BB">0xe0</span><span style="color: #007700">) == </span><span style="color: #0000BB">0xe0</span><span style="color: #007700">)<br /> {<br /> if ((</span><span style="color: #0000BB">$size </span><span style="color: #007700">- </span><span style="color: #0000BB">$j</span><span style="color: #007700">) == </span><span style="color: #0000BB">1</span><span style="color: #007700">)<br /> break;<br /> </span><span style="color: #0000BB">$j</span><span style="color: #007700">++;<br /> </span><span style="color: #0000BB">$i </span><span style="color: #007700">+= </span><span style="color: #0000BB">2</span><span style="color: #007700">;<br /> }<br /> }<br /> return </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$text</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">$i</span><span style="color: #007700">) . </span><span style="color: #0000BB">str_repeat</span><span style="color: #007700">(</span><span style="color: #0000BB">$pad</span><span style="color: #007700">, </span><span style="color: #0000BB">$size </span><span style="color: #007700">- </span><span style="color: #0000BB">$j</span><span style="color: #007700">);<br />}</span>
- </span>
- </code></div>
- </div>
- <p>修正字符串至固定宽度
- 其中一个全角符号、汉字的宽度为半角字符的 2 倍。</p>
- <div class="detailHeader" id="flush-detail">
- flush()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public static void <b>flush</b>()</div>
- </td></tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSUtil.class.php#L179">sdk/php/util/XSUtil.class.php#L179</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public static function </span><span style="color: #0000BB">flush</span><span style="color: #007700">()<br />{<br /> </span><span style="color: #0000BB">flush</span><span style="color: #007700">();<br /> if (</span><span style="color: #0000BB">ob_get_level</span><span style="color: #007700">() > </span><span style="color: #0000BB">0</span><span style="color: #007700">)<br /> </span><span style="color: #0000BB">ob_flush</span><span style="color: #007700">();<br />}</span>
- </span>
- </code></div>
- </div>
- <p>刷新标准输出缓冲区</p>
- <div class="detailHeader" id="getOpt-detail">
- getOpt()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public static string <b>getOpt</b>(string $short, string $long=NULL, bool $extra=false)</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">$short</td>
- <td class="paramTypeCol">string</td>
- <td class="paramDescCol">短参数名</td>
- </tr>
- <tr>
- <td class="paramNameCol">$long</td>
- <td class="paramTypeCol">string</td>
- <td class="paramDescCol">长参数名</td>
- </tr>
- <tr>
- <td class="paramNameCol">$extra</td>
- <td class="paramTypeCol">bool</td>
- <td class="paramDescCol">是否补用默认顺序的参数</td>
- </tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol">string</td>
- <td class="paramDescCol">返回可用的参数值,若不存在则返回 null</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSUtil.class.php#L157">sdk/php/util/XSUtil.class.php#L157</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public static function </span><span style="color: #0000BB">getOpt</span><span style="color: #007700">(</span><span style="color: #0000BB">$short</span><span style="color: #007700">, </span><span style="color: #0000BB">$long </span><span style="color: #007700">= </span><span style="color: #0000BB">null</span><span style="color: #007700">, </span><span style="color: #0000BB">$extra </span><span style="color: #007700">= </span><span style="color: #0000BB">false</span><span style="color: #007700">)<br />{<br /> if (</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$options </span><span style="color: #007700">=== </span><span style="color: #0000BB">null</span><span style="color: #007700">)<br /> </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">parseOpt</span><span style="color: #007700">();<br /><br /> </span><span style="color: #0000BB">$value </span><span style="color: #007700">= </span><span style="color: #0000BB">null</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">$options </span><span style="color: #007700">= </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$options</span><span style="color: #007700">;<br /> if (</span><span style="color: #0000BB">$long </span><span style="color: #007700">!== </span><span style="color: #0000BB">null </span><span style="color: #007700">&& isset(</span><span style="color: #0000BB">$options</span><span style="color: #007700">[</span><span style="color: #0000BB">$long</span><span style="color: #007700">]))<br /> </span><span style="color: #0000BB">$value </span><span style="color: #007700">= </span><span style="color: #0000BB">$options</span><span style="color: #007700">[</span><span style="color: #0000BB">$long</span><span style="color: #007700">];<br /> else if (</span><span style="color: #0000BB">$short </span><span style="color: #007700">!== </span><span style="color: #0000BB">null </span><span style="color: #007700">&& isset(</span><span style="color: #0000BB">$options</span><span style="color: #007700">[</span><span style="color: #0000BB">$short</span><span style="color: #007700">]))<br /> </span><span style="color: #0000BB">$value </span><span style="color: #007700">= </span><span style="color: #0000BB">$options</span><span style="color: #007700">[</span><span style="color: #0000BB">$short</span><span style="color: #007700">];<br /> else if (</span><span style="color: #0000BB">$extra </span><span style="color: #007700">=== </span><span style="color: #0000BB">true </span><span style="color: #007700">&& isset(</span><span style="color: #0000BB">$options</span><span style="color: #007700">[</span><span style="color: #DD0000">'-'</span><span style="color: #007700">][</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$optind</span><span style="color: #007700">]))<br /> {<br /> </span><span style="color: #0000BB">$value </span><span style="color: #007700">= </span><span style="color: #0000BB">$options</span><span style="color: #007700">[</span><span style="color: #DD0000">'-'</span><span style="color: #007700">][</span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$optind</span><span style="color: #007700">];<br /> </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$optind</span><span style="color: #007700">++;<br /> }<br /> return </span><span style="color: #0000BB">$value</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>取得命令行参数
- 要求事先调用 parseOpt, 否则会自动以默认参数调用它。</p>
- <div class="SeeAlso">
- <h4>参见</h4>
- <ul>
- <li><a href="XSUtil.html#parseOpt">parseOpt</a></li>
- </ul>
- </div>
- <div class="detailHeader" id="parseOpt-detail">
- parseOpt()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public static array <b>parseOpt</b>(array $valued=array (
- ))</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">$valued</td>
- <td class="paramTypeCol">array</td>
- <td class="paramDescCol">需要附加值的参数列表</td>
- </tr>
- <tr>
- <td class="paramNameCol">{return}</td>
- <td class="paramTypeCol">array</td>
- <td class="paramDescCol">解析完的参数数组,未指定 - 开头的选项统一放入 '-' 的子数组</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSUtil.class.php#L90">sdk/php/util/XSUtil.class.php#L90</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public static function </span><span style="color: #0000BB">parseOpt</span><span style="color: #007700">(</span><span style="color: #0000BB">$valued </span><span style="color: #007700">= array())<br />{<br /> </span><span style="color: #0000BB">$result </span><span style="color: #007700">= array(</span><span style="color: #DD0000">'-' </span><span style="color: #007700">=> array());<br /> </span><span style="color: #0000BB">$params </span><span style="color: #007700">= isset(</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'argv'</span><span style="color: #007700">]) ? </span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">'argv'</span><span style="color: #007700">] : array();<br /> for (</span><span style="color: #0000BB">$i </span><span style="color: #007700">= </span><span style="color: #0000BB">0</span><span style="color: #007700">; </span><span style="color: #0000BB">$i </span><span style="color: #007700">< </span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$params</span><span style="color: #007700">); </span><span style="color: #0000BB">$i</span><span style="color: #007700">++)<br /> {<br /> if (</span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">] === </span><span style="color: #DD0000">'--'</span><span style="color: #007700">)<br /> {<br /> for (</span><span style="color: #0000BB">$i </span><span style="color: #007700">= </span><span style="color: #0000BB">$i </span><span style="color: #007700">+ </span><span style="color: #0000BB">1</span><span style="color: #007700">; </span><span style="color: #0000BB">$i </span><span style="color: #007700">< </span><span style="color: #0000BB">count</span><span style="color: #007700">(</span><span style="color: #0000BB">$params</span><span style="color: #007700">); </span><span style="color: #0000BB">$i</span><span style="color: #007700">++)<br /> </span><span style="color: #0000BB">$result</span><span style="color: #007700">[</span><span style="color: #DD0000">'-'</span><span style="color: #007700">][] = </span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">];<br /> break;<br /> }<br /> else if (</span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">][</span><span style="color: #0000BB">0</span><span style="color: #007700">] === </span><span style="color: #DD0000">'-'</span><span style="color: #007700">)<br /> {<br /> </span><span style="color: #0000BB">$value </span><span style="color: #007700">= </span><span style="color: #0000BB">true</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">$pname </span><span style="color: #007700">= </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">], </span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /> if (</span><span style="color: #0000BB">$pname</span><span style="color: #007700">[</span><span style="color: #0000BB">0</span><span style="color: #007700">] === </span><span style="color: #DD0000">'-'</span><span style="color: #007700">)<br /> {<br /> </span><span style="color: #0000BB">$pname </span><span style="color: #007700">= </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$pname</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /> if ((</span><span style="color: #0000BB">$pos </span><span style="color: #007700">= </span><span style="color: #0000BB">strpos</span><span style="color: #007700">(</span><span style="color: #0000BB">$pname</span><span style="color: #007700">, </span><span style="color: #DD0000">'='</span><span style="color: #007700">)) !== </span><span style="color: #0000BB">false</span><span style="color: #007700">)<br /> {<br /> </span><span style="color: #0000BB">$value </span><span style="color: #007700">= </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$pname</span><span style="color: #007700">, </span><span style="color: #0000BB">$pos </span><span style="color: #007700">+ </span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">$pname </span><span style="color: #007700">= </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$pname</span><span style="color: #007700">, </span><span style="color: #0000BB">0</span><span style="color: #007700">, </span><span style="color: #0000BB">$pos</span><span style="color: #007700">);<br /> }<br /> }<br /> else if (</span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$pname</span><span style="color: #007700">) > </span><span style="color: #0000BB">1</span><span style="color: #007700">)<br /> {<br /> for (</span><span style="color: #0000BB">$j </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">; </span><span style="color: #0000BB">$j </span><span style="color: #007700">< </span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">]); </span><span style="color: #0000BB">$j</span><span style="color: #007700">++)<br /> {<br /> </span><span style="color: #0000BB">$pname </span><span style="color: #007700">= </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">], </span><span style="color: #0000BB">$j</span><span style="color: #007700">, </span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /> if (</span><span style="color: #0000BB">in_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$pname</span><span style="color: #007700">, </span><span style="color: #0000BB">$valued</span><span style="color: #007700">))<br /> {<br /> </span><span style="color: #0000BB">$value </span><span style="color: #007700">= </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">], </span><span style="color: #0000BB">$j </span><span style="color: #007700">+ </span><span style="color: #0000BB">1</span><span style="color: #007700">);<br /> break;<br /> }<br /> else if ((</span><span style="color: #0000BB">$j </span><span style="color: #007700">+ </span><span style="color: #0000BB">1</span><span style="color: #007700">) != </span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">]))<br /> {<br /> </span><span style="color: #0000BB">$result</span><span style="color: #007700">[</span><span style="color: #0000BB">$pname</span><span style="color: #007700">] = </span><span style="color: #0000BB">true</span><span style="color: #007700">;<br /> }<br /> }<br /> }<br /> if (</span><span style="color: #0000BB">$value </span><span style="color: #007700">=== </span><span style="color: #0000BB">true </span><span style="color: #007700">&& </span><span style="color: #0000BB">in_array</span><span style="color: #007700">(</span><span style="color: #0000BB">$pname</span><span style="color: #007700">, </span><span style="color: #0000BB">$valued</span><span style="color: #007700">) && isset(</span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i </span><span style="color: #007700">+ </span><span style="color: #0000BB">1</span><span style="color: #007700">]))<br /> {<br /> </span><span style="color: #0000BB">$value </span><span style="color: #007700">= </span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i </span><span style="color: #007700">+ </span><span style="color: #0000BB">1</span><span style="color: #007700">];<br /> </span><span style="color: #0000BB">$i</span><span style="color: #007700">++;<br /> }<br /> </span><span style="color: #0000BB">$result</span><span style="color: #007700">[</span><span style="color: #0000BB">$pname</span><span style="color: #007700">] = </span><span style="color: #0000BB">$value</span><span style="color: #007700">;<br /> }<br /> else<br /> {<br /> </span><span style="color: #0000BB">$result</span><span style="color: #007700">[</span><span style="color: #DD0000">'-'</span><span style="color: #007700">][] = </span><span style="color: #0000BB">$params</span><span style="color: #007700">[</span><span style="color: #0000BB">$i</span><span style="color: #007700">];<br /> }<br /> }<br /> </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$options </span><span style="color: #007700">= </span><span style="color: #0000BB">$result</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$optind </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br /> return </span><span style="color: #0000BB">$result</span><span style="color: #007700">;<br />}</span>
- </span>
- </code></div>
- </div>
- <p>解析命令行参数</p>
- <div class="detailHeader" id="setCharset-detail">
- setCharset()
- <span class="detailHeaderTag">
- 方法
- </span>
- </div>
- <table class="summaryTable">
- <tr><td colspan="3">
- <div class="signature2">
- public static void <b>setCharset</b>(string $charset)</div>
- </td></tr>
- <tr>
- <td class="paramNameCol">$charset</td>
- <td class="paramTypeCol">string</td>
- <td class="paramDescCol">期望得到的字符集</td>
- </tr>
- </table>
- <div class="sourceCode">
- <b>源码:</b> <a class="sourceLink" href="https://github.com/hightman/xunsearch/blob/master/sdk/php/util/XSUtil.class.php#L52">sdk/php/util/XSUtil.class.php#L52</a> (<b><a href="#" class="show">显示</a></b>)
- <div class="code"><code><span style="color: #000000">
- <span style="color: #0000BB"></span><span style="color: #007700">public static function </span><span style="color: #0000BB">setCharset</span><span style="color: #007700">(</span><span style="color: #0000BB">$charset</span><span style="color: #007700">)<br />{<br /> if (</span><span style="color: #0000BB">$charset </span><span style="color: #007700">!== </span><span style="color: #0000BB">null </span><span style="color: #007700">&& </span><span style="color: #0000BB">strcasecmp</span><span style="color: #007700">(</span><span style="color: #0000BB">$charset</span><span style="color: #007700">, </span><span style="color: #DD0000">'utf8'</span><span style="color: #007700">) && </span><span style="color: #0000BB">strcasecmp</span><span style="color: #007700">(</span><span style="color: #0000BB">$charset</span><span style="color: #007700">, </span><span style="color: #DD0000">'utf-8'</span><span style="color: #007700">))<br /> {<br /> </span><span style="color: #0000BB">self</span><span style="color: #007700">::</span><span style="color: #0000BB">$charset </span><span style="color: #007700">= </span><span style="color: #0000BB">$charset</span><span style="color: #007700">;<br /> </span><span style="color: #0000BB">ob_start</span><span style="color: #007700">(array(</span><span style="color: #0000BB">__CLASS__</span><span style="color: #007700">, </span><span style="color: #DD0000">'convertOut'</span><span style="color: #007700">));<br /> }<br />}</span>
- </span>
- </code></div>
- </div>
- <p>设置输出、输入编码
- 默认输出的中文编码均为 UTF-8</p>
- </div><!-- end of content -->
- <div id="apiFooter">
- Copyright © 2008-2011 by <a href="http://www.xunsearch.com" target="_blank">杭州云圣网络科技有限公司</a><br/>
- All Rights Reserved.<br/>
- </div><!-- end of footer -->
- <script type="text/javascript">
- /*<![CDATA[*/
- $("a.toggle").toggle(function(){
- $(this).text($(this).text().replace(/Hide/,'Show'));
- $(this).parents(".summary").find(".inherited").hide();
- },function(){
- $(this).text($(this).text().replace(/Show/,'Hide'));
- $(this).parents(".summary").find(".inherited").show();
- });
- $(".sourceCode a.show").toggle(function(){
- $(this).text($(this).text().replace(/show/,'hide'));
- $(this).parents(".sourceCode").find("div.code").show();
- },function(){
- $(this).text($(this).text().replace(/hide/,'show'));
- $(this).parents(".sourceCode").find("div.code").hide();
- });
- $("a.sourceLink").click(function(){
- $(this).attr('target','_blank');
- });
- /*]]>*/
- </script>
- </div><!-- end of page -->
- </body>
- </html>
|