{"id":31092,"date":"2024-11-25T14:13:30","date_gmt":"2024-11-25T06:13:30","guid":{"rendered":"https:\/\/fwq.ai\/blog\/31092\/"},"modified":"2024-11-25T14:13:30","modified_gmt":"2024-11-25T06:13:30","slug":"dedecms%e5%ad%97%e7%ac%a6%e4%b8%b2%e6%88%aa%e5%8f%96%e5%87%bd%e6%95%b0%e6%80%8e%e4%b9%88%e7%94%a8","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/31092\/","title":{"rendered":"dedecms\u5b57\u7b26\u4e32\u622a\u53d6\u51fd\u6570\u600e\u4e48\u7528"},"content":{"rendered":"<p style=\"text-align: center\"><img decoding=\"async\" src=\"https:\/\/img.php.cn\/upload\/article\/000\/000\/020\/5e192cd0dc206709.jpg\" class=\"aligncenter\" title=\"dedecms\u5b57\u7b26\u4e32\u622a\u53d6\u51fd\u6570\u600e\u4e48\u7528\u63d2\u56fe\" alt=\"dedecms\u5b57\u7b26\u4e32\u622a\u53d6\u51fd\u6570\u600e\u4e48\u7528\u63d2\u56fe\" \/><\/p>\n<p><strong>\u5b57\u7b26\u4e32\u622a\u53d6\u51fd\u6570\u600e\u4e48\u7528\uff1f<\/strong><\/p>\n<p>dedecms \u7684cn_substr_utf8\u5b57\u7b26\u4e32\u622a\u53d6\u51fd\u6570\u5546\u69b7<\/p>\n<p>\u63a8\u8350\u5b66\u4e60\uff1a<\/p>\n<p>\u5728phpsir\u770b\u5230\u7684\u8fd9\u7bc7\u6587\u7ae0\uff0c\u4e3b\u8981\u662f\u8bf4\u4e0bdedecms \u7684cn_substr_utf8\u51fd\u6570\u597d\u50cf\u6709\u4e9b\u95ee\u9898\uff0c\u7814\u7a76dedecms\u7684\u670b\u53cb\u53ef\u4ee5\u770b\u4e0b<\/p>\n<p>&nbsp;&nbsp;<\/p>\n<p>\u5728dedecms\u91cc\u9762 cn_substr_utf8 \u51fd\u6570\u662f\u8fd9\u6837\u7684<\/p>\n<p>\u4ee3\u7801\u5982\u4e0b:<\/p>\n<pre>\/**\n*&nbsp;utf-8\u4e2d\u6587\u622a\u53d6\uff0c\u5355\u5b57\u8282\u622a\u53d6\u6a21\u5f0f\n*\n*&nbsp;@access&nbsp;public\n*&nbsp;@param&nbsp;string&nbsp;$str&nbsp;\u9700\u8981\u622a\u53d6\u7684\u5b57\u7b26\u4e32\n*&nbsp;@param&nbsp;int&nbsp;$slen&nbsp;\u622a\u53d6\u7684\u957f\u5ea6\n*&nbsp;@param&nbsp;int&nbsp;$startdd&nbsp;\u5f00\u59cb\u6807\u8bb0\u5904\n*&nbsp;@return&nbsp;string\n*\/\nif&nbsp;(&nbsp;!&nbsp;function_exists('cn_substr_utf8'))\n{\nfunction&nbsp;cn_substr_utf8($str,&nbsp;$length,&nbsp;$start=0)\n{\nif(strlen($str)&nbsp;&nbsp;&lt;p&gt;&nbsp;\/\/\u4e3a\u4e86\u517c\u5bb9mysql4.1\u4ee5\u4e0b\u7248\u672c,\u4e0e\u6570\u636e\u5e93varchar\u4e00\u81f4,\u8fd9\u91cc\u4f7f\u7528\u6309\u5b57\u8282\u622a\u53d6\nfor($i=0;&nbsp;isset($ar[0][$i]);&nbsp;$i++)\n{\nif(strlen($tstr)&nbsp;&lt;\/p&gt;&lt;p&gt;\u5176\u4e2d&lt;\/p&gt;&lt;p&gt;\u4ee3\u7801\u5982\u4e0b:&lt;\/p&gt;&lt;pre class=\"brush:php;toolbar:false\"&gt;if(strlen($str)&nbsp;&lt;p&gt;\u4e00\u884c\u53ef\u80fd\u4f1a\u9020\u6210\u622a\u53d6\u540e\u591a\u4e86\u4e00\u4e2a\u5b57\u7b26\uff0c\u53ef\u4ee5\u8003\u8651\u6539\u4e3a&lt;\/p&gt;&lt;p&gt;\u4ee3\u7801\u5982\u4e0b:&lt;br&gt;&lt;\/p&gt;&lt;pre class=\"brush:php;toolbar:false\"&gt;if(strlen($str)&nbsp;&lt;p&gt;\u6d4b\u8bd5\u4ee3\u7801\u5982\u4e0b&lt;\/p&gt;&lt;p&gt;\u4ee3\u7801\u5982\u4e0b:&lt;\/p&gt;&lt;pre class=\"brush:php;toolbar:false\"&gt;$f&nbsp;=&nbsp;\"\u4f60\u597dfasdfa\u4f60fasdf#e#\";\n$pos&nbsp;=&nbsp;strpos($f,'#e#');\nvar_dump($pos);\nvar_dump(cn_substr_utf8($f,$pos));\nvar_dump(cn_substr_utf82($f,$pos));&nbsp;&lt;p&gt;function&nbsp;cn_substr($str,&nbsp;$slen,&nbsp;$startdd=0)\n{\nglobal&nbsp;$cfg_soft_lang;\nif($cfg_soft_lang=='utf-8')\n{\nreturn&nbsp;cn_substr_utf8($str,&nbsp;$slen,&nbsp;$startdd);\n}\n$restr&nbsp;=&nbsp;'';\n$c&nbsp;=&nbsp;'';\n$str_len&nbsp;=&nbsp;strlen($str);\nif($str_len&nbsp;&nbsp;$startdd)\n{\n$restr&nbsp;.=&nbsp;$c;\n}&lt;\/p&gt;&nbsp;&lt;p&gt;&nbsp;if(ord($str[$i])&amp;gt;0x80)\n{\nif($str_len&amp;gt;$i+1)\n{\n$c&nbsp;=&nbsp;$str[$i].$str[$i+1];\n}\n$i++;\n}\nelse\n{\n$c&nbsp;=&nbsp;$str[$i];\n}&lt;\/p&gt;&nbsp;&lt;p&gt;&nbsp;if($i&nbsp;&amp;gt;=&nbsp;$enddd)\n{\nif(strlen($restr)+strlen($c)&amp;gt;$slen)\n{\nbreak;\n}\nelse\n{\n$restr&nbsp;.=&nbsp;$c;\nbreak;\n}\n}\n}\nreturn&nbsp;$restr;\n}&lt;\/p&gt;&nbsp;&lt;p&gt;function&nbsp;cn_substr_utf8($str,&nbsp;$length,&nbsp;$start=0)\n{\nif(strlen($str)&nbsp;&nbsp;&lt;\/p&gt;&lt;p&gt;&nbsp;$str&nbsp;=&nbsp;'';\n$tstr&nbsp;=&nbsp;'';&lt;\/p&gt;&nbsp;&lt;p&gt;&nbsp;\/\/\u4e3a\u4e86\u517c\u5bb9mysql4.1\u4ee5\u4e0b\u7248\u672c,\u4e0e\u6570\u636e\u5e93varchar\u4e00\u81f4,\u8fd9\u91cc\u4f7f\u7528\u6309\u5b57\u8282\u622a\u53d6\nfor($i=0;&nbsp;isset($ar[0][$i]);&nbsp;$i++)\n{\nif(strlen($tstr)&nbsp;&nbsp;&lt;\/p&gt;&lt;p&gt;&nbsp;$tstr&nbsp;.=&nbsp;$ar[0][$i];\n}\nelse\n{&lt;\/p&gt;&nbsp;&lt;p&gt;&nbsp;if(strlen($str)&nbsp;&nbsp;&lt;\/p&gt;&lt;p&gt;&nbsp;$str&nbsp;.=&nbsp;$ar[0][$i];\n}\nelse\n{&lt;\/p&gt;&nbsp;&lt;p&gt;&nbsp;break;\n}\n}\n}\nreturn&nbsp;$str;\n}&lt;\/p&gt;&nbsp;&lt;p&gt;function&nbsp;cn_substr_utf82($str,&nbsp;$length,&nbsp;$start=0)\n{\nif(strlen($str)&nbsp;&nbsp;&lt;\/p&gt;&lt;p&gt;&nbsp;$str&nbsp;=&nbsp;'';\n$tstr&nbsp;=&nbsp;'';&lt;\/p&gt;&nbsp;&lt;p&gt;&nbsp;\/\/\u4e3a\u4e86\u517c\u5bb9mysql4.1\u4ee5\u4e0b\u7248\u672c,\u4e0e\u6570\u636e\u5e93varchar\u4e00\u81f4,\u8fd9\u91cc\u4f7f\u7528\u6309\u5b57\u8282\u622a\u53d6\nfor($i=0;&nbsp;isset($ar[0][$i]);&nbsp;$i++)\n{\nif(strlen($tstr)&nbsp;&nbsp;&lt;\/p&gt;&lt;p&gt;&nbsp;$tstr&nbsp;.=&nbsp;$ar[0][$i];\n}\nelse\n{&lt;\/p&gt;&nbsp;&lt;p&gt;&nbsp;if(strlen($str)&nbsp;&nbsp;&lt;\/p&gt;&lt;p&gt;&nbsp;$str&nbsp;.=&nbsp;$ar[0][$i];\n}\nelse\n{&lt;\/p&gt;&nbsp;&lt;p&gt;&nbsp;break;\n}\n}\n}\nreturn&nbsp;$str;\n}&lt;\/p&gt;<\/pre>\n<p> \u767b\u5f55\u540e\u590d\u5236 <\/p>\n<p>\u4ee5\u4e0a\u5c31\u662f\u5b57\u7b26\u4e32\u622a\u53d6\u51fd\u6570\u600e\u4e48\u7528\u7684\u8be6\u7ec6\u5185\u5bb9\uff0c\u66f4\u591a\u8bf7\u5173\u6ce8\u7c73\u4e91\u5176\u5b83\u76f8\u5173\u6587\u7ae0\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5b57\u7b26\u4e32\u622a\u53d6\u51fd\u6570\u600e\u4e48\u7528\uff1f dedecms \u7684cn_substr_utf8\u5b57\u7b26\u4e32\u622a\u53d6\u51fd\u6570\u5546\u69b7 \u63a8\u8350\u5b66\u4e60\uff1a \u5728phpsir\u770b\u5230\u7684\u8fd9\u7bc7\u6587\u7ae0\uff0c\u4e3b\u8981\u662f\u8bf4\u4e0bdedecms \u7684cn_substr_utf8\u51fd\u6570\u597d\u50cf\u6709\u4e9b\u95ee\u9898\uff0c\u7814\u7a76dedecms\u7684\u670b\u53cb\u53ef\u4ee5\u770b\u4e0b &nbsp;&nbsp; \u5728dedecms\u91cc\u9762 cn_substr_utf8 \u51fd\u6570\u662f\u8fd9\u6837\u7684 \u4ee3\u7801\u5982\u4e0b: \/** *&nbsp;utf-8\u4e2d\u6587\u622a\u53d6\uff0c\u5355\u5b57\u8282\u622a\u53d6\u6a21\u5f0f * *&nbsp;@access&nbsp;public *&nbsp;@param&nbsp;string&nbsp;$str&nbsp;\u9700\u8981\u622a\u53d6\u7684\u5b57\u7b26\u4e32 *&nbsp;@param&nbsp;int&nbsp;$slen&nbsp;\u622a\u53d6\u7684\u957f\u5ea6 *&nbsp;@param&nbsp;int&nbsp;$startdd&nbsp;\u5f00\u59cb\u6807\u8bb0\u5904 *&nbsp;@return&nbsp;string *\/ if&nbsp;(&nbsp;!&nbsp;function_exists(&#8216;cn_substr_utf8&#8242;)) { function&nbsp;cn_substr_utf8($str,&nbsp;$length,&nbsp;$start=0) { if(strlen($str)&nbsp;&nbsp;&lt;p&gt;&nbsp;\/\/\u4e3a\u4e86\u517c\u5bb9mysql4.1\u4ee5\u4e0b\u7248\u672c,\u4e0e\u6570\u636e\u5e93varchar\u4e00\u81f4,\u8fd9\u91cc\u4f7f\u7528\u6309\u5b57\u8282\u622a\u53d6 for($i=0;&nbsp;isset($ar[0][$i]);&nbsp;$i++) { if(strlen($tstr)&nbsp;&lt;\/p&gt;&lt;p&gt;\u5176\u4e2d&lt;\/p&gt;&lt;p&gt;\u4ee3\u7801\u5982\u4e0b:&lt;\/p&gt;&lt;pre class=&#8221;brush:php;toolbar:false&#8221;&gt;if(strlen($str)&nbsp;&lt;p&gt;\u4e00\u884c\u53ef\u80fd\u4f1a\u9020\u6210\u622a\u53d6\u540e\u591a\u4e86\u4e00\u4e2a\u5b57\u7b26\uff0c\u53ef\u4ee5\u8003\u8651\u6539\u4e3a&lt;\/p&gt;&lt;p&gt;\u4ee3\u7801\u5982\u4e0b:&lt;br&gt;&lt;\/p&gt;&lt;pre class=&#8221;brush:php;toolbar:false&#8221;&gt;if(strlen($str)&nbsp;&lt;p&gt;\u6d4b\u8bd5\u4ee3\u7801\u5982\u4e0b&lt;\/p&gt;&lt;p&gt;\u4ee3\u7801\u5982\u4e0b:&lt;\/p&gt;&lt;pre class=&#8221;brush:php;toolbar:false&#8221;&gt;$f&nbsp;=&nbsp;&#8220;\u4f60\u597dfasdfa\u4f60fasdf#e#&#8221;; $pos&nbsp;=&nbsp;strpos($f,&#8217;#e#&#8217;); var_dump($pos); var_dump(cn_substr_utf8($f,$pos)); var_dump(cn_substr_utf82($f,$pos));&nbsp;&lt;p&gt;function&nbsp;cn_substr($str,&nbsp;$slen,&nbsp;$startdd=0) { global&nbsp;$cfg_soft_lang; if($cfg_soft_lang==&#8217;utf-8&#8242;) { return&nbsp;cn_substr_utf8($str,&nbsp;$slen,&nbsp;$startdd); } $restr&nbsp;=&nbsp;&#8221;; $c&nbsp;=&nbsp;&#8221;; $str_len&nbsp;=&nbsp;strlen($str); if($str_len&nbsp;&nbsp;$startdd) { $restr&nbsp;.=&nbsp;$c; }&lt;\/p&gt;&nbsp;&lt;p&gt;&nbsp;if(ord($str[$i])&amp;gt;0x80) { if($str_len&amp;gt;$i+1) { $c&nbsp;=&nbsp;$str[$i].$str[$i+1]; } $i++; } [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[18],"tags":[],"class_list":["post-31092","post","type-post","status-publish","format-standard","hentry","category-cms"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/31092","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=31092"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/31092\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=31092"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=31092"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=31092"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}