0

0

html串中截取指定长度的字串,html标记不计算在内

php中文网

php中文网

发布时间:2016-06-16 08:39:37

|

1801人浏览过

|

来源于php中文网

原创

跳至 [1] [2] [3] [4] [5] [全屏预览]
/**
 * 函数名 html_substr
 * 功能 从html串中截取指定长度的字串,html标记不计算在内
 * 参数
 *  $str 要截取的串
 *  $len 要截取的长度
 *  $mode 不匹配的标记的处理方式 0 删去(默认),1 补齐
 * 返回 截取到的串
 * 说明
 *  未考虑多字节字符,仅已字节做计数单位
 *  未考虑可单独存在的标记
 **/
function html_substr($str, $len, $mode=0) {
  $ar= preg_split('/(<\!--.*-->|<[^>]*>)/s', $str, -1, PREG_SPLIT_DELIM_CAPTURE);
  foreach($ar AS $k => $v) {
    if($v{0} != '<') {
      $len = $len - strlen($v);
      if($len < 0) $ar[$k] = substr($v, 0, $len);
    }else $ar[$k] = strtolower($v);
    if($len <= 0) break;
  }
  $ar = array_slice($ar, 0, $k+1);
  $len = count($ar);
  foreach($ar as $k=>$v) {
    if($v{0} == '<' && $v[1] != '/') {
      $ch = str_replace('<', 'abc456def789";
 
echo '';
echo html_substr($str, 5) . PHP_EOL;
echo html_substr($str, 5, 1);</pre>
        		            	
            	            	<div class="code_piece">
            	            	<h3>
<i>2. </i><i>[代码]</i>另外一种    
					<i class="jump_to_code">
						<span>
							跳至
																                    					[1]
									    															                    					[2]
									    															                    					[3]
									    															                    					[4]
									    															                    					[5]
									    												</span>
						[全屏预览]
					</i>
				</h3>
            	<pre class="brush: php; auto-links: false; ">$str = "a1<body>b2c3<p><em>d4</em>e</p><div class="aritcle_card flexRow">
							<div class="artcardd flexRow">
								<a class="aritcle_card_img" href="/ai/865" title="酷表ChatExcel"><img
										src="https://img.php.cn/upload/ai_manual/001/503/042/68b6d62c31469779.png" alt="酷表ChatExcel"></a>
								<div class="aritcle_card_info flexColumn">
									<a href="/ai/865" title="酷表ChatExcel">酷表ChatExcel</a>
									<p>北大团队开发的通过聊天来操作Excel表格的AI工具</p>
								</div>
								<a href="/ai/865" title="酷表ChatExcel" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
							</div>
						</div>5f6</body>g7h8";
$gn  = 7;
$i   = $j = $k = 0;
while( ($c = $str[$i++]) && $j < $gn ) 
{
    if( $c == '<')
    {
        $tag = 1;
    }
    elseif($c == '>')
    {
        if(trim($tg,'/') == 'em')
        {
            $tgs[$j-1] = '<'.$tg.'>';
        }
        else 
        {
            if($tgs[$j-1]) $ogs[$j-1] = '1|'.'<'.$tg.'>';
            else $ogs[$j-1]           = '0|'.'<'.$tg.'>';
        }
        $tag = 0;
        $tg  = '';
    }
    elseif($tag == 1)
    {
        $tg .= $c;
    }
    else
    {
        $tmp[] = $c;
        $j++;
    }
}
$ts = count($tgs);
if($ts % 2) array_pop($tgs);
foreach($tmp as $k=>$v)
{
   $ba = explode('|',$ogs[$k],2);
   if( $tgs[$k] && $ogs[$k])
   {
        if($ba[0])
        {
            $s .= $v.$tgs[$k].$ba[1];
        }   
        else $s .= $v.$ba[1].$tgs[$k];
   }
   else $s .= $v.$tgs[$k].$ba[1];
}
echo htmlspecialchars($s);</pre>
        		            	</div>
            	            	<div class="code_piece">
            	            	<h3>
<i>3. </i><i>[代码]</i>[PHP]代码    
					<i class="jump_to_code">
						<span>
							跳至
																                    					[1]
									    															                    					[2]
									    															                    					[3]
									    															                    					[4]
									    															                    					[5]
									    												</span>
						[全屏预览]
					</i>
				</h3>
            	<pre class="brush: php; auto-links: false; ">//tags : 字符串可能包含的HTML标签
//zhfw : 用来修正中英字宽参数
function wsubstr($str, $length = 0, $suffixStr = "...", $start = 0, $tags = "div|span|p", $zhfw = 0.9, $charset = "utf-8"){
//author: lael
//blog: http://hi.baidu.com/lael80
 
$re['utf-8']   = "/[\x01-\x7f]|[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$re['gb2312'] = "/[\x01-\x7f]|[\xb0-\xf7][\xa0-\xfe]/";
$re['gbk']    = "/[\x01-\x7f]|[\x81-\xfe][\x40-\xfe]/";
$re['big5']   = "/[\x01-\x7f]|[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
 
$zhre['utf-8']   = "/[\xc2-\xdf][\x80-\xbf]|[\xe0-\xef][\x80-\xbf]{2}|[\xf0-\xff][\x80-\xbf]{3}/";
$zhre['gb2312'] = "/[\xb0-\xf7][\xa0-\xfe]/";
$zhre['gbk']    = "/[\x81-\xfe][\x40-\xfe]/";
$zhre['big5']   = "/[\x81-\xfe]([\x40-\x7e]|\xa1-\xfe])/";
 
//下面代码还可以应用到关键字加亮、加链接等,可以避免截断HTML标签发生
//得到标签位置
$tpos = array();
preg_match_all("/<(".$tags.")([\s\S]*?)>|<\/(".$tags.")>/ism", $str, $match);
$mpos = 0;
for($j = 0; $j < count($match[0]); $j ++){
$mpos = strpos($str, $match[0][$j], $mpos);
$tpos[$mpos] = $match[0][$j];
$mpos += strlen($match[0][$j]);
}
ksort($tpos);
 
//根据标签位置解析整个字符
$sarr = array();
$bpos = 0;
$epos = 0;
foreach($tpos as $k => $v){
$temp = substr($str, $bpos, $k - $epos);
if(!empty($temp))array_push($sarr, $temp);
array_push($sarr, $v);
$bpos = ($k + strlen($v));
$epos = $k + strlen($v);
}
$temp = substr($str, $bpos);
if(!empty($temp))array_push($sarr, $temp);
 
//忽略标签截取字符串
$bpos = $start;
$epos = $length;
for($i = 0; $i < count($sarr); $i ++){
if(preg_match("/^<([\s\S]*?)>$/i", $sarr[$i]))continue;//忽略标签
 
preg_match_all($re[$charset], $sarr[$i], $match);
 
for($j = $bpos; $j < min($epos, count($match[0])); $j ++){
if(preg_match($zhre[$charset], $match[0][$j]))$epos -= $zhfw;//计算中文字符
}
 
$sarr[$i] = "";
for($j = $bpos; $j < min($epos, count($match[0])); $j ++){//截取字符
$sarr[$i] .= $match[0][$j];
}
$bpos -= count($match[0]);
$bpos = max(0, $bpos);
$epos -= count($match[0]);
$epos = round($epos);
}
 
//返回结果
$slice = join("", $sarr);//自己可以加个清除空html标签的东东
if($slice != $str)return $slice.$suffixStr;
return $slice;
}</pre>
        		            	</div>
            	            	<div class="code_piece">
            	            	<h3>
<i>4. </i><i>[代码]</i>速度测试    
					<i class="jump_to_code">
						<span>
							跳至
																                    					[1]
									    															                    					[2]
									    															                    					[3]
									    															                    					[4]
									    															                    					[5]
									    												</span>
						[全屏预览]
					</i>
				</h3>
            	<pre class="brush: php; auto-links: false; ">/**
 * 函数名 check_speed
 * 功能 统计运行时间和内存使用情况
 * 参数 $num 大于0 开始计时,等于0或缺省 停止计时并输出结果
 * 说明 本函数可以以 check_speed(运行次数, 函数名, 参数列表);
 *      方式调用。输出的结果是平均每次的耗时
 **/
function check_speed($num=0) {
  static $time;
  static $memo;
  $argc = func_num_args();
  $param = func_get_args();
 
  switch($argc) {
    case 1:
      $time = microtime(true);
      $memo = memory_get_usage();
      break;
    default:
      $time = microtime(true);
      $memo = memory_get_usage();
      $len = array_shift($param);
      $func = array_shift($param);
      for($i = 0; $i<$len; $i++)
        call_user_func_array($func, $param);
      echo '<br />' . PHP_EOL . $func;
    case 0:
      $len or $len = 1;
      echo '<br />' . PHP_EOL;
      printf("时间: %s 微秒<br />%s", number_format((microtime(true) - $time)*1000000/$len), PHP_EOL);
      printf("内存: %d<br />%s", memory_get_usage()-$memo, PHP_EOL);
  }
}


/**
 * 函数名 check_speed
 * 功能 统计运行时间和内存使用情况
 * 参数 $num 大于0 开始计时,等于0或缺省 停止计时并输出结果
 * 说明 本函数可以以 check_speed(运行次数, 函数名, 参数列表);
 *      方式调用。输出的结果是平均每次的耗时
 **/
function check_speed($num=0) {
  static $time;
  static $memo;
  $argc = func_num_args();
  $param = func_get_args();
 
  switch($argc) {
    case 1:
      $time = microtime(true);
      $memo = memory_get_usage();
      break;
    default:
      $time = microtime(true);
      $memo = memory_get_usage();
      $len = array_shift($param);
      $func = array_shift($param);
      for($i = 0; $i<$len; $i++)
        call_user_func_array($func, $param);
      echo '<br />' . PHP_EOL . $func;
    case 0:
      $len or $len = 1;
      echo '<br />' . PHP_EOL;
      printf("时间: %s 微秒<br />%s", number_format((microtime(true) - $time)*1000000/$len), PHP_EOL);
      printf("内存: %d<br />%s", memory_get_usage()-$memo, PHP_EOL);
  }
}</pre>
        		            	</div>
            	            	<div class="code_piece">
            	            	<h3>
<i>5. </i><i>[代码]</i>http://www.jb51.net/article/51241242.htm    
					<i class="jump_to_code">
						<span>
							跳至
																                    					[1]
									    															                    					[2]
									    															                    					[3]
									    															                    					[4]
									    															                    					[5]
									    												</span>
						[全屏预览]
					</i>
				</h3>
            	<pre class="brush: php; auto-links: false; ">/*
* ============================== 截取含有 html标签的字符串 =========================
* @param (string) $str   待截取字符串
* @param (int)  $lenth  截取长度
* @param (string) $repalce 超出的内容用$repalce替换之(该参数可以为带有html标签的字符串)
* @param (string) $anchor 截取锚点,如果截取过程中遇到这个标记锚点就截至该锚点处
* @return (string) $result 返回值
* @demo  $res = cut_html_str($str, 256, '...'); //截取256个长度,其余部分用'...'替换
* -------------------------------------------------------------------------------
* $ Author: Wang Jian.  |   Email: wj@yurendu.com   |   Date: 2014/03/16
* ===============================================================================
*/
function cut_html_str($str, $lenth, $replace='', $anchor='<!-- break -->'){ 
    $_lenth = mb_strlen($str, "utf-8"); // 统计字符串长度(中、英文都算一个字符)
    if($_lenth <= $lenth){
        return $str;    // 传入的字符串长度小于截取长度,原样返回
    }
    $strlen_var = strlen($str);     // 统计字符串长度(UTF8编码下-中文算3个字符,英文算一个字符)
    if(strpos($str, '<') === false){ 
        return mb_substr($str, 0, $lenth);  // 不包含 html 标签 ,直接截取
    } 
    if($e = strpos($str, $anchor)){ 
        return mb_substr($str, 0, $e);  // 包含截断标志,优先
    } 
    $html_tag = 0;  // html 代码标记 
    $result = '';   // 摘要字符串
    $html_array = array('left' => array(), 'right' => array()); //记录截取后字符串内出现的 html 标签,开始=>left,结束=>right
    /*
    * 如字符串为:<h3><p><b>a</b></h3>,假设p未闭合,数组则为:array('left'=>array('h3','p','b'), 'right'=>'b','h3');
    * 仅补全 html 标签,<? <% 等其它语言标记,会产生不可预知结果
    */
    for($i = 0; $i < $strlen_var; ++$i) { 
        if(!$lenth) break;  // 遍历完之后跳出
        $current_var = substr($str, $i, 1); // 当前字符
        if($current_var == '<'){ // html 代码开始 
            $html_tag = 1; 
            $html_array_str = ''; 
        }else if($html_tag == 1){ // 一段 html 代码结束 
            if($current_var == '>'){ 
                $html_array_str = trim($html_array_str); //去除首尾空格,如 <br / > < img src="" / > 等可能出现首尾空格
                if(substr($html_array_str, -1) != '/'){ //判断最后一个字符是否为 /,若是,则标签已闭合,不记录
                    // 判断第一个字符是否 /,若是,则放在 right 单元 
                    $f = substr($html_array_str, 0, 1); 
                    if($f == '/'){ 
                        $html_array['right'][] = str_replace('/', '', $html_array_str); // 去掉 '/' 
                    }else if($f != '?'){ // 若是?,则为 PHP 代码,跳过
                        // 若有半角空格,以空格分割,第一个单元为 html 标签。如:<h2 class="a"> <p class="a"> 
                        if(strpos($html_array_str, ' ') !== false){ 
                        // 分割成2个单元,可能有多个空格,如:<h2 class="" id=""> 
                        $html_array['left'][] = strtolower(current(explode(' ', $html_array_str, 2))); 
                        }else{ 
                        //若没有空格,整个字符串为 html 标签,如:<b> <p> 等,统一转换为小写
                        $html_array['left'][] = strtolower($html_array_str); 
                        } 
                    } 
                } 
                $html_array_str = ''; // 字符串重置
                $html_tag = 0; 
            }else{ 
                $html_array_str .= $current_var; //将< >之间的字符组成一个字符串,用于提取 html 标签
            } 
        }else{ 
            --$lenth; // 非 html 代码才记数
        } 
        $ord_var_c = ord($str{$i}); 
        switch (true) { 
            case (($ord_var_c & 0xE0) == 0xC0): // 2 字节 
                $result .= substr($str, $i, 2); 
                $i += 1; break; 
            case (($ord_var_c & 0xF0) == 0xE0): // 3 字节
                $result .= substr($str, $i, 3); 
                $i += 2; break; 
            case (($ord_var_c & 0xF8) == 0xF0): // 4 字节
                $result .= substr($str, $i, 4); 
                $i += 3; break; 
            case (($ord_var_c & 0xFC) == 0xF8): // 5 字节 
                $result .= substr($str, $i, 5); 
                $i += 4; break; 
            case (($ord_var_c & 0xFE) == 0xFC): // 6 字节
                $result .= substr($str, $i, 6); 
                $i += 5; break; 
            default: // 1 字节 
                $result .= $current_var; 
        } 
    } 
    if($html_array['left']){ //比对左右 html 标签,不足则补全
        $html_array['left'] = array_reverse($html_array['left']); //翻转left数组,补充的顺序应与 html 出现的顺序相反
        foreach($html_array['left'] as $index => $tag){ 
            $key = array_search($tag, $html_array['right']); // 判断该标签是否出现在 right 中
            if($key !== false){ // 出现,从 right 中删除该单元
                unset($html_array['right'][$key]); 
            }else{ // 没有出现,需要补全 
                $result .= '</'.$tag.'>'; 
            } 
        } 
    } 
    return $result.$replace; 
}</pre>
        		            	</div>
            	        	
			<style type="text/css">
				.code_report{float:right}
				.code_report div{ float: left; margin-left: 5px; background: url("/img/ask-icon.gif") no-repeat; padding: 6px 0 6px 15px; padding-left: 15px; height: 16px;}
				.code_report a{ background: url("/img/ask-icon.gif") 0 -160px no-repeat;padding-left: 20px; line-height: 15px;height: 16px; color: #333; text-decoration: none; display:inline-block; zoom:1; vertical-align: middle;}
				.code_report em{ height: 28px; line-height:28px; width: 14px; display: inline-block; float: left; background: url("/img/ask-icon.gif") top right;}
            </style>					</div>
					<div class="artmoreart ">
													<div class="aritcle_card flexRow">
							<div class="artcardd flexRow">
								<a class="aritcle_card_img" href="https://pan.quark.cn/s/f4eedefabd61" title="HTML速学教程(入门课程)"><img
										src="https://img.php.cn/upload/Recdownload/000/000/085/66723a3016a41308.jpg" alt="HTML速学教程(入门课程)"></a>
								<div class="aritcle_card_info flexColumn">
									<a href="https://pan.quark.cn/s/f4eedefabd61" title="HTML速学教程(入门课程)">HTML速学教程(入门课程)</a>
									<p>HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!</p>
								</div>
								<a href="https://pan.quark.cn/s/f4eedefabd61" title="HTML速学教程(入门课程)" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
							</div>
						</div>
						<p class="statement">本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn</p>
						<div class="lastanext flexRow">
													<a class="lastart flexRow" href="/faq/226356.html" title="基于php电视节目时间表接口示例"><span>上一篇:</span>基于php电视节目时间表接口示例</a>
													<a class="nextart flexRow" href="/faq/226358.html" title="加载sql文件为分号分割的数组"><span>下一篇:</span>加载sql文件为分号分割的数组</a>
												</div>
					</div>

					<div class="artlef-down ">
						
						<div class="moreAi ">
							<div class="rightdTitle flexRow">
								<div class="title-left flexRow"> <b></b>
									<p>热门AI工具</p>
								</div>
								<a target="_blank" class="rititle-more flexRow" href="/ai" title="热门AI工具"><span>更多</span><b></b></a>
							</div>

							<div class="moreailist flexRow">
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/723" title="DeepSeek" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679963982777.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="DeepSeek" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">DeepSeek</p>
												<p class="overflowclass abriptwo">幻方量化公司旗下的开源大模型平台</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/code/open-plat" title="开放平台" class="aidcontbp flexRow flexcenter">开放平台</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/726" title="豆包大模型" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175680204067325.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="豆包大模型" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">豆包大模型</p>
												<p class="overflowclass abriptwo">字节跳动自主研发的一系列大型语言模型</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/725" title="通义千问" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679974228210.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="通义千问" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">通义千问</p>
												<p class="overflowclass abriptwo">阿里巴巴推出的全能AI助手</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/854" title="腾讯元宝" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679978251103.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="腾讯元宝" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">腾讯元宝</p>
												<p class="overflowclass abriptwo">腾讯混元平台推出的AI助手</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/office/docs" title="文档处理" class="aidcontbp flexRow flexcenter">文档处理</p>
																													<p href="/ai/tag/office/excel" title="Excel 表格" class="aidcontbp flexRow flexcenter">Excel 表格</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/724" title="文心一言" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679974557049.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="文心一言" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">文心一言</p>
												<p class="overflowclass abriptwo">文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/1507" title="讯飞写作" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/969/633/68b7a4153cd86671.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="讯飞写作" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">讯飞写作</p>
												<p class="overflowclass abriptwo">基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
																													<p href="/ai/tag/text/write" title="写作工具" class="aidcontbp flexRow flexcenter">写作工具</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/1115" title="即梦AI" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/001/246/273/68b6d8f7c530c315.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="即梦AI" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">即梦AI</p>
												<p class="overflowclass abriptwo">一站式AI创作平台,免费AI图片和视频生成。</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/image/image-titching" title="图片拼接" class="aidcontbp flexRow flexcenter">图片拼接</p>
																													<p href="/ai/tag/image/image-create" title="图画生成" class="aidcontbp flexRow flexcenter">图画生成</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/808" title="ChatGPT" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679970194596.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="ChatGPT" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">ChatGPT</p>
												<p class="overflowclass abriptwo">最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/text/chinese-writing" title="中文写作" class="aidcontbp flexRow flexcenter">中文写作</p>
																											</div>
																							</div>
										</a>
									</div>
																	<div class="aidcons flexRow  check ">
										<a target="_blank" href="/ai/821" title="智谱清言 - 免费全能的AI助手" class="aibtns flexRow">
											<img src="https://img.php.cn/upload/ai_manual/000/000/000/175679976181507.png?x-oss-process=image/resize,m_mfit,h_70,w_70,limit_0" alt="智谱清言 - 免费全能的AI助手" class="aibtnimg"
												onerror="this.src='/static/lhimages/moren/morentu.png'">
											<div class="aibtn-right flexColumn">
												<p class="overflowclass abripone">智谱清言 - 免费全能的AI助手</p>
												<p class="overflowclass abriptwo">智谱清言 - 免费全能的AI助手</p>
																									<div class="aidconstab flexRow">
																												<p href="/ai/tag/code/large-model" title="AI大模型" class="aidcontbp flexRow flexcenter">AI大模型</p>
																													<p href="/ai/tag/office/pdf" title="PDF 文档" class="aidcontbp flexRow flexcenter">PDF 文档</p>
																											</div>
																							</div>
										</a>
									</div>
															</div>




						</div>

					</div>


				</div>


			</div>
			<div class="conRight artdtilRight ">
				<div class="artrig-adv ">
                    <script type="text/javascript" src="https://teacher.php.cn/php/MDM3MTk1MGYxYjI5ODJmNTE0ZWVkZTA3NmJhYzhmMjI6Og=="></script>
                </div>
				<div class="hotzt artdtzt">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>相关专题</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/faq/zt" title="相关专题"><span>更多</span><b></b></a>
					</div>
					<div class="hotztuls flexColumn">
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/gddtsjffhz" class="aClass flexRow hotzta" title="高德地图升级方法汇总"><img
										src="https://img.php.cn/upload/subject/202601/16/2026011616530741625.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="高德地图升级方法汇总" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/gddtsjffhz" class="aClass flexRow hotztra overflowclass" title="高德地图升级方法汇总">高德地图升级方法汇总</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">4</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.16</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/qmkgdgfjcdq" class="aClass flexRow hotzta" title="全民K歌得高分教程大全"><img
										src="https://img.php.cn/upload/subject/202601/16/2026011616492847399.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="全民K歌得高分教程大全" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/qmkgdgfjcdq" class="aClass flexRow hotztra overflowclass" title="全民K歌得高分教程大全">全民K歌得高分教程大全</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">3</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.16</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/cdycsydmzl" class="aClass flexRow hotzta" title="C++ 单元测试与代码质量保障"><img
										src="https://img.php.cn/upload/subject/202601/16/2026011609573514777.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="C++ 单元测试与代码质量保障" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/cdycsydmzl" class="aClass flexRow hotztra overflowclass" title="C++ 单元测试与代码质量保障">C++ 单元测试与代码质量保障</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">10</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.16</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/javasjkljjcdq" class="aClass flexRow hotzta" title="java数据库连接教程大全"><img
										src="https://img.php.cn/upload/subject/202601/15/2026011519592371954.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="java数据库连接教程大全" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/javasjkljjcdq" class="aClass flexRow hotztra overflowclass" title="java数据库连接教程大全">java数据库连接教程大全</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">33</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.15</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/javacljchz" class="aClass flexRow hotzta" title="Java音频处理教程汇总"><img
										src="https://img.php.cn/upload/subject/202601/15/2026011519425917049.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Java音频处理教程汇总" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/javacljchz" class="aClass flexRow hotztra overflowclass" title="Java音频处理教程汇总">Java音频处理教程汇总</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">15</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.15</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/windowsckwifi" class="aClass flexRow hotzta" title="windows查看wifi密码教程大全"><img
										src="https://img.php.cn/upload/subject/202601/15/2026011519350195776.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="windows查看wifi密码教程大全" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/windowsckwifi" class="aClass flexRow hotztra overflowclass" title="windows查看wifi密码教程大全">windows查看wifi密码教程大全</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">42</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.15</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/llqhcqlffhz" class="aClass flexRow hotzta" title="浏览器缓存清理方法汇总"><img
										src="https://img.php.cn/upload/subject/202601/15/2026011519261817272.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="浏览器缓存清理方法汇总" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/llqhcqlffhz" class="aClass flexRow hotztra overflowclass" title="浏览器缓存清理方法汇总">浏览器缓存清理方法汇总</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">7</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.15</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pstpxgchz" class="aClass flexRow hotzta" title="ps图片相关教程汇总"><img
										src="https://img.php.cn/upload/subject/202601/15/2026011519190153351.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="ps图片相关教程汇总" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pstpxgchz" class="aClass flexRow hotztra overflowclass" title="ps图片相关教程汇总">ps图片相关教程汇总</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">9</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.15</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pptyjscxghj" class="aClass flexRow hotzta" title="ppt一键生成相关合集"><img
										src="https://img.php.cn/upload/subject/000/000/075/6968cbd97c088675.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="ppt一键生成相关合集" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pptyjscxghj" class="aClass flexRow hotztra overflowclass" title="ppt一键生成相关合集">ppt一键生成相关合集</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了ppt一键生成相关教程汇总,阅读专题下面的的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">6</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.15</p>
										</div>
									</div>
								</div>
							</div>
											</div>
				</div>

				<div class="hotdownload ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>热门下载</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/xiazai" title="热门下载"><span>更多</span><b></b></a>
					</div>
					<div class="hotdownTab">
						<div class="hdTabs flexRow">
							<div class="check" data-id="onef">网站特效 <b></b> </div> /
							<div class="" data-id="twof">网站源码 <b></b></div> /
							<div class="" data-id="threef">网站素材 <b></b></div> /
							<div class="" data-id="fourf">前端模板 <b></b></div>
						</div>
						<ul class="onef">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jquery鼠标滑动按钮图片切换" href="/xiazai/js/8483"><span>[图片特效]</span><span>jquery鼠标滑动按钮图片切换</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery拖动设置时间段表单提交" href="/xiazai/js/8482"><span>[表单按钮]</span><span>jQuery拖动设置时间段表单提交</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jquery折纸变换效果" href="/xiazai/js/8481"><span>[图片特效]</span><span>jquery折纸变换效果</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="炫酷文字抖动动画网页特效" href="/xiazai/js/8480"><span>[文字特效]</span><span>炫酷文字抖动动画网页特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="HTML5 SVG动态图片文字特效" href="/xiazai/js/8479"><span>[文字特效]</span><span>HTML5 SVG动态图片文字特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="js+html5实现图片倒影效果代码" href="/xiazai/js/8478"><span>[图片特效]</span><span>js+html5实现图片倒影效果代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="CSS3鼠标经过图片缩小显示文字特效" href="/xiazai/js/8477"><span>[文字特效]</span><span>CSS3鼠标经过图片缩小显示文字特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="可全屏浏览baguettebox相册代码" href="/xiazai/js/8476"><span>[图片特效]</span><span>可全屏浏览baguettebox相册代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery注册登录改密表单代码" href="/xiazai/js/8475"><span>[表单按钮]</span><span>jQuery注册登录改密表单代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="纯CSS3文字切片组合动画特效" href="/xiazai/js/8474"><span>[文字特效]</span><span>纯CSS3文字切片组合动画特效</span></a>
									</div>
								</li>
													</ul>
						<ul class="twof" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11354" title="思翔企(事)业单位文件柜 build 20080313"><span>[其它模板]</span><span>思翔企(事)业单位文件柜 build 20080313</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11353" title="雅龙智能装备工业设备类WordPress主题1.0"><span>[企业站源码]</span><span>雅龙智能装备工业设备类WordPress主题1.0</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11352" title="威发卡自动发卡系统"><span>[电商源码]</span><span>威发卡自动发卡系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11351" title="卡密分发系统"><span>[电商源码]</span><span>卡密分发系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11350" title="中华陶瓷网"><span>[电商源码]</span><span>中华陶瓷网</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11349" title="简洁粉色食品公司网站"><span>[电商源码]</span><span>简洁粉色食品公司网站</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11348" title="极速网店系统"><span>[电商源码]</span><span>极速网店系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11347" title="淘宝妈妈_淘客推广系统"><span>[电商源码]</span><span>淘宝妈妈_淘客推广系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11346" title="积客B2SCMS商城系统"><span>[电商源码]</span><span>积客B2SCMS商城系统</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11345" title="CODEC2I 众筹系统"><span>[电商源码]</span><span>CODEC2I 众筹系统</span> </a>
									</div>
								</li>
													</ul>
						<ul class="threef" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4199" title="现代几何抽象飞鸟装饰矢量素材"><span>[网站素材]</span><span>现代几何抽象飞鸟装饰矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4198" title="极简线条玉兰花卉插画矢量素材"><span>[网站素材]</span><span>极简线条玉兰花卉插画矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4197" title="手绘烹饪调料香料合集矢量素材"><span>[网站素材]</span><span>手绘烹饪调料香料合集矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4196" title="惬意午后咖啡阅读时光矢量插画"><span>[网站素材]</span><span>惬意午后咖啡阅读时光矢量插画</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4195" title="中国宏伟古建筑矢量素材"><span>[网站素材]</span><span>中国宏伟古建筑矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4194" title="黑色星期五耳机折扣横幅设计下载"><span>[网站素材]</span><span>黑色星期五耳机折扣横幅设计下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4193" title="国潮风莲花荷塘插画矢量素材"><span>[网站素材]</span><span>国潮风莲花荷塘插画矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4192" title="假日快乐烟花背景ps素材下载"><span>[网站素材]</span><span>假日快乐烟花背景ps素材下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4191" title="新春喜庆剪纸喜鹊窗花矢量素材"><span>[网站素材]</span><span>新春喜庆剪纸喜鹊窗花矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4190" title="绿色生态梯田自然风景矢量素材"><span>[网站素材]</span><span>绿色生态梯田自然风景矢量素材</span> </a>
									</div>
								</li>
													</ul>
						<ul class="fourf" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8590"  title="驾照考试驾校HTML5网站模板"><span>[前端模板]</span><span>驾照考试驾校HTML5网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8589"  title="驾照培训服务机构宣传网站模板"><span>[前端模板]</span><span>驾照培训服务机构宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8588"  title="HTML5房地产公司宣传网站模板"><span>[前端模板]</span><span>HTML5房地产公司宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8587"  title="新鲜有机肉类宣传网站模板"><span>[前端模板]</span><span>新鲜有机肉类宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8586"  title="响应式天气预报宣传网站模板"><span>[前端模板]</span><span>响应式天气预报宣传网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8585"  title="房屋建筑维修公司网站CSS模板"><span>[前端模板]</span><span>房屋建筑维修公司网站CSS模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8584"  title="响应式志愿者服务网站模板"><span>[前端模板]</span><span>响应式志愿者服务网站模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8583"  title="创意T恤打印店网站HTML5模板"><span>[前端模板]</span><span>创意T恤打印店网站HTML5模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8582"  title="网页开发岗位简历作品展示网页模板"><span>[前端模板]</span><span>网页开发岗位简历作品展示网页模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/8581"  title="响应式人力资源机构宣传网站模板"><span>[前端模板]</span><span>响应式人力资源机构宣传网站模板</span> </a>
									</div>
								</li>
													</ul>
					</div>
					<script>
						$('.hdTabs>div').click(function (e) {
							$('.hdTabs>div').removeClass('check')
							$(this).addClass('check')
							$('.hotdownTab>ul').css('display', 'none')
							$('.' + e.currentTarget.dataset.id).show()
						})
					</script>

				</div>

				<div class="artrig-adv ">
					<script type="text/javascript" src="https://teacher.php.cn/php/MDM3MTk1MGYxYjI5ODJmNTE0ZWVkZTA3NmJhYzhmMjI6Og=="></script>
                </div>



				<div class="xgarts ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>相关下载</p>
						</div>
						<a target="_blank" class="rititle-more flexRow" href="/xiazai" title="相关下载"><span>更多</span><b></b></a>
					</div>
					<div class="xgwzlist ">
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="php商城系统" href="/xiazai/code/11178">php商城系统</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="淘源码商城PHP淘宝查信誉" href="/xiazai/code/11177">淘源码商城PHP淘宝查信誉</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP房产程序[BBWPS]" href="/xiazai/code/11165">PHP房产程序[BBWPS]</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP简约自动发卡平台个人版" href="/xiazai/code/11128">PHP简约自动发卡平台个人版</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="ERMEB域名PHP离线网络授权系统" href="/xiazai/code/11040">ERMEB域名PHP离线网络授权系统</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Difeye-敏捷的轻量级PHP框架" href="/xiazai/code/11037">Difeye-敏捷的轻量级PHP框架</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="大泉州汽车网PHP整站程序" href="/xiazai/code/10963">大泉州汽车网PHP整站程序</a></div>
										</div>

				</div>

				<div class="jpkc">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>精品课程</p>
						</div>
						<a class="rititle-more flexRow" target="_blank" href="/course/sort_new.html" title="精品课程"><span>更多</span><b></b></a>
					</div>
					<div class=" jpkcTab">
						<div class=" jpkcTabs flexRow">
							<div class="check" data-id="onefd">相关推荐 <b></b> </div> /
							<div class="" data-id="twofd">热门推荐 <b></b></div> /
							<div class="" data-id="threefd">最新课程 <b></b></div>
						</div>
						<div class="onefd jpktabd">
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1587.html" title="PHP基础入门课程">
									<img src="https://img.php.cn/upload/course/000/000/067/650d42c62399c149.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="PHP基础入门课程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1587.html" title="PHP基础入门课程"
										class="rirightp overflowclass">PHP基础入门课程</a>

									<div class="risrdown flexRow">
										<p>共33课时 | 1.9万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1590.html" title="php初学者入门课程">
									<img src="https://img.php.cn/upload/course/000/000/067/6527b55f04f5a294.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="php初学者入门课程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1590.html" title="php初学者入门课程"
										class="rirightp overflowclass">php初学者入门课程</a>

									<div class="risrdown flexRow">
										<p>共10课时 | 0.6万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1587.html" title="PHP基础入门课程">
									<img src="https://img.php.cn/upload/course/000/000/067/650d42c62399c149.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="PHP基础入门课程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1587.html" title="PHP基础入门课程"
										class="rirightp overflowclass">PHP基础入门课程</a>

									<div class="risrdown flexRow">
										<p>共33课时 | 1.9万人学习</p>
									</div>
								</div>
							</div>
												</div>

						<div class="twofd jpktabd" style="display:none;">
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学">
										<img src="https://img.php.cn/upload/course/000/000/081/6862652adafef801.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="JavaScript ES5基础线上课程教学" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学"
											class="rirightp overflowclass">JavaScript ES5基础线上课程教学</a>

										<div class="risrdown flexRow">
											<p>共6课时 | 7.2万人学习</p>
										</div>
									</div>
								</div>
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)">
										<img src="https://img.php.cn/upload/course/000/000/041/620debc3eab3f377.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/812.html" title="最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)"
											class="rirightp overflowclass">最新ThinkPHP 5.1全球首发视频教程(60天成就PHP大牛线上培训班课)</a>

										<div class="risrdown flexRow">
											<p>共79课时 | 151.2万人学习</p>
										</div>
									</div>
								</div>
															<div  class="ristyA flexRow " >
									<a target="_blank" href="/course/639.html" title="phpStudy极速入门视频教程">
										<img src="https://img.php.cn/upload/course/000/000/068/62611ef88fcec821.jpg?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="phpStudy极速入门视频教程" class="ristyAimg"
											onerror="this.src='/static/mobimages/moren/morentu.png'">
									</a>
									<div class="ristyaRight flexColumn">
										<a target="_blank" href="/course/639.html" title="phpStudy极速入门视频教程"
											class="rirightp overflowclass">phpStudy极速入门视频教程</a>

										<div class="risrdown flexRow">
											<p>共6课时 | 53.4万人学习</p>
										</div>
									</div>
								</div>
													</div>

						<div class="threefd jpktabd" style="display:none;">
															<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1696.html" title="最新Python教程 从入门到精通">
											<img src="https://img.php.cn/upload/course/000/000/081/68c135bb72783194.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="最新Python教程 从入门到精通" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1696.html" title="最新Python教程 从入门到精通"
												class="rirightp overflowclass">最新Python教程 从入门到精通</a>

											<div class="risrdown flexRow">
												<p>共4课时 | 1.3万人学习</p>
											</div>
										</div>
									</div>
																<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学">
											<img src="https://img.php.cn/upload/course/000/000/081/6862652adafef801.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="JavaScript ES5基础线上课程教学" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1656.html" title="JavaScript ES5基础线上课程教学"
												class="rirightp overflowclass">JavaScript ES5基础线上课程教学</a>

											<div class="risrdown flexRow">
												<p>共6课时 | 7.2万人学习</p>
											</div>
										</div>
									</div>
																<div  class="ristyA flexRow " >
										<a target="_blank" href="/course/1655.html" title="PHP新手语法线上课程教学">
											<img src="https://img.php.cn/upload/course/000/000/081/684a8c23d811b293.png?x-oss-process=image/resize,m_mfit,h_86,w_140,limit_0" alt="PHP新手语法线上课程教学" class="ristyAimg"
												onerror="this.src='/static/mobimages/moren/morentu.png'">
										</a>
										<div class="ristyaRight flexColumn">
											<a target="_blank" href="/course/1655.html" title="PHP新手语法线上课程教学"
												class="rirightp overflowclass">PHP新手语法线上课程教学</a>

											<div class="risrdown flexRow">
												<p>共13课时 | 0.9万人学习</p>
											</div>
										</div>
									</div>
														</div>
						<script>
							$('.jpkcTabs>div').click(function (e) {
								$('.jpkcTabs>div').removeClass('check')
								$(this).addClass('check')
								$('.jpkcTab .jpktabd').css('display', 'none')
								$('.' + e.currentTarget.dataset.id).show()
							})
						</script>

					</div>
				</div>

				<div class="zxarts ">
					<div class="rightdTitle flexRow">
						<div class="title-left flexRow"> <b></b>
							<p>最新文章</p>
						</div>
						<a class="rititle-more flexRow" href="" title="最新文章" target="_blank"><span>更多</span><b></b></a>
					</div>
					<div class="xgwzlist ">
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="phpmystudy2016版程序包下载-让天下没有难配的php环境" href="/faq/347993.html">phpmystudy2016版程序包下载-让天下没有难配的php环境</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="多城市选择器实现代码" href="/faq/347091.html">多城市选择器实现代码</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="微信接口php版本sdk的WxApi.class.php" href="/faq/340989.html">微信接口php版本sdk的WxApi.class.php</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="php图片加水印类,支持文字水印、透明度设置、自定义水印类" href="/faq/340421.html">php图片加水印类,支持文字水印、透明度设置、自定义水印类</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="php命名空间和动态语言特征" href="/faq/340255.html">php命名空间和动态语言特征</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="PHP弱类型安全问题总结" href="/faq/339393.html">PHP弱类型安全问题总结</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何读懂并写出装逼的函数式代码" href="/faq/339368.html">如何读懂并写出装逼的函数式代码</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="用 PHP 爬虫做旅游数据分析" href="/faq/339293.html">用 PHP 爬虫做旅游数据分析</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="C++从文件中按照单词读取内容" href="/faq/339266.html">C++从文件中按照单词读取内容</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="你所不知道的 PHP - 自动加载" href="/faq/339243.html">你所不知道的 PHP - 自动加载</a></div>
											</div>

				</div>






			</div>



		</div>

	</div>
	<!--底部-->
	<div class="phpFoot">
    <div class="phpFootIn">
        <div class="phpFootCont">
            <div class="phpFootLeft">
                <dl>
                    <dt>
                        <a target="_blank"  href="/about/us.html" rel="nofollow"  title="关于我们" class="cBlack">关于我们</a>
                        <a target="_blank"  href="/about/disclaimer.html" rel="nofollow"  title="免责申明" class="cBlack">免责申明</a>
                        <a target="_blank"  href="/about/jbzx.html" rel="nofollow"  title="举报中心" class="cBlack">举报中心</a>
                        <a   href="javascript:;" rel="nofollow" onclick="advice_data(99999999,'意见反馈')"   title="意见反馈" class="cBlack">意见反馈</a>
                        <a target="_blank"  href="https://www.php.cn/teacher.html" rel="nofollow"   title="讲师合作" class="cBlack">讲师合作</a>
                        <a  target="_blank" href="https://www.php.cn/blog/detail/20304.html" rel="nofollow"  title="广告合作" class="cBlack">广告合作</a>
                        <a  target="_blank" href="/new/"    title="最新文章列表" class="cBlack">最新更新</a>
                                                <div class="clear"></div>
                    </dt>
                    <dd class="cont1">php中文网:公益在线php培训,帮助PHP学习者快速成长!</dd>
                    <dd class="cont2">
                      <span class="ylwTopBox">
                        <a   href="javascript:;"  class="cBlack"><b class="icon1"></b>关注服务号</a>
                        <em style="display:none;" class="ylwTopSub">
                          <p>微信扫码<br/>关注PHP中文网服务号</p>
                          <img src="/static/images/examples/text16.png"/>
                        </em>
                      </span>
                        <span class="ylwTopBox">
                        <a   href="tencent://message/?uin=27220243&Site=www.php.cn&Menu=yes"  class="cBlack"><b class="icon2"></b>技术交流群</a>
                        <em style="display:none;" class="ylwTopSub">
                          <p>QQ扫码<br/>加入技术交流群</p>
                          <img src="/static/images/examples/text18.png"/>
                        </em>
                      </span>
                        <div class="clear"></div>
                    </dd>
                </dl>
                
            </div>
            <div class="phpFootRight">
                <div class="phpFootMsg">
                    <span><img src="/static/images/examples/text17.png"/></span>
                    <dl>
                        <dt>PHP中文网订阅号</dt>
                        <dd>每天精选资源文章推送</dd>
                    </dl>
                </div>
            </div>
        </div>
    </div>
    <div class="phpFootCode">
        <div class="phpFootCodeIn"><p>Copyright 2014-2026 <a   href="https://www.php.cn/" >https://www.php.cn/</a> All Rights Reserved | php.cn | <a   href="https://beian.miit.gov.cn/" rel="nofollow" >湘ICP备2023035733号</a></p><a   href="http://www.beian.gov.cn/portal/index.do" rel="nofollow" ><b></b></a></div>
    </div>
</div>
<input type="hidden" id="verifycode" value="/captcha.html">
<script>
    var _hmt = _hmt || [];
    (function() {
        var hm = document.createElement("script");
        hm.src = "https://hm.baidu.com/hm.js?c0e685c8743351838d2a7db1c49abd56";
        var s = document.getElementsByTagName("script")[0];
        s.parentNode.insertBefore(hm, s);
    })();
</script>
<script>layui.use(['element', 'carousel'], function () {var element = layui.element;$ = layui.jquery;var carousel = layui.carousel;carousel.render({elem: '#test1', width: '100%', height: '330px', arrow: 'always'});$.getScript('/static/js/jquery.lazyload.min.js', function () {$("img").lazyload({placeholder: "/static/images/load.jpg", effect: "fadeIn", threshold: 200, skip_invisible: false});});});</script>

<span class="layui-hide"><script type="text/javascript" src="https://s4.cnzz.com/z_stat.php?id=1280886301&web_id=1280886301"></script></span>

<script src="/static/js/cdn.js?v=1.0.1"></script>



	<!--底部 end-->
	<!-- content -->
	<!--
    <div class="phpFudong">
        <div class="phpFudongIn">
            <div class="phpFudongImg"></div>
            <div class="phpFudongXue">登录PHP中文网,和优秀的人一起学习!</div>
            <div class="phpFudongQuan">全站<span>2000+</span>教程免费学</div>
            <div class="phpFudongCode"><a   href="javascript:;" id="login" title="微信扫码登录">微信扫码登录</a></div>
            <div class="phpGuanbi" onclick="$('.phpFudong').hide();"></div>
            <div class="clear"></div>
        </div>
    </div>
-->	<!--底部浮动层 end-->
	<!--侧导航-->
	<style>
    .layui-fixbar{display: none;}
</style>
<div class="phpSdhBox" style="height:240px !important;">
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="/k24.html"  class="hover" title="PHP学习">
                    <b class="icon1"></b>
                    <p>PHP学习</p>
                </a>
            </div>
        </div>
    </li>
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="https://www.php.cn/blog/detail/1047189.html" >
                    <b class="icon2"></b>
                    <p>技术支持</p>
                </a>
            </div>
        </div>
    </li>
    <li>
        <div class="phpSdhIn">
            <div class="phpSdhTitle">
                <a   href="#">
                    <b class="icon6"></b>
                    <p>返回顶部</p>
                </a>
            </div>
        </div>
    </li>
</div>
	</body>

</html>

<script type="text/javascript" src="/hitsUp?type=article&id=226357&time=1768564354">
</script>
<script src="/static/ueditor/third-party/SyntaxHighlighter/shCore.js?1768564354"></script>
<script>
	article_status = "0";
</script>
<input type="hidden" id="verifycode" value="/captcha.html">
<script type="text/javascript" src="/static/js/global.min.js?5.5.33"></script>
<link rel='stylesheet' id='_main-css' href='/static/css/viewer.min.css?2' type='text/css' media='all' />
<script type='text/javascript' src='/static/js/viewer.min.js?1'></script>
<script type='text/javascript' src='/static/js/jquery-viewer.min.js'></script>
<script type="text/javascript" src="/static/js/jquery.cookie.js"></script>
<script>var _hmt = _hmt || [];(function(){var hm = document.createElement("script");hm.src="//hm.baidu.com/hm.js?c0e685c8743351838d2a7db1c49abd56";var s=document.getElementsByTagName("script")[0];s.parentNode.insertBefore(hm, s);})();(function(){var bp = document.createElement('script');var curProtocol = window.location.protocol.split(':')[0];if(curProtocol === 'https'){bp.src = 'https://zz.bdstatic.com/linksubmit/push.js';}else{bp.src = 'http://push.zhanzhang.baidu.com/push.js';};var s = document.getElementsByTagName("script")[0];s.parentNode.insertBefore(bp, s);})();</script>
	

<script>
	function setCookie(name, value, iDay) { //name相当于键,value相当于值,iDay为要设置的过期时间(天)
		var oDate = new Date();
		oDate.setDate(oDate.getDate() + iDay);
		document.cookie = name + '=' + value + ';path=/;domain=.php.cn;expires=' + oDate;
	}

	function getCookie(name) {
		var cookieArr = document.cookie.split(";");
		for (var i = 0; i < cookieArr.length; i++) {
			var cookiePair = cookieArr[i].split("=");
			if (name == cookiePair[0].trim()) {
				return decodeURIComponent(cookiePair[1]);
			}
		}
		return null;
	}
</script>


<!-- Matomo -->
<script>
	var _paq = window._paq = window._paq || [];
	/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
	_paq.push(['trackPageView']);
	_paq.push(['enableLinkTracking']);
	(function () {
		var u = "https://tongji.php.cn/";
		_paq.push(['setTrackerUrl', u + 'matomo.php']);
		_paq.push(['setSiteId', '7']);
		var d = document,
			g = d.createElement('script'),
			s = d.getElementsByTagName('script')[0];
		g.async = true;
		g.src = u + 'matomo.js';
		s.parentNode.insertBefore(g, s);
	})();
</script>
<!-- End Matomo Code -->

<script>
	setCookie('is_article', 1, 1);
</script>

<script>
	var is_login = "0";
        var show = 0;
        var ceng = getCookie('ceng');
        //未登录复制显示登录按钮
        if(is_login == 0 && false){
            $(".code").hover(function(){
                $(this).find('.contentsignin').show();
            },function(){
                $(this).find('.contentsignin').hide();
            });
            //不给复制
            $('.code').bind("cut copy paste",function(e) {
                e.preventDefault();
            });
            $('.code .contentsignin').click(function(){
                $(document).trigger("api.loginpopbox");
            })
        }else{
            // 获取所有的 <pre> 元素
            var preElements = document.querySelectorAll('pre');
            preElements.forEach(function(preElement) {
                // 创建复制按钮
                var copyButton = document.createElement('button');
                copyButton.className = 'copy-button';
                copyButton.textContent = '复制';
                // 添加点击事件处理程序
                copyButton.addEventListener('click', function() {
                    // 获取当前按钮所属的 <pre> 元素中的文本内容
                    var textContent = preElement.textContent.trim();
                    // 创建一个临时 textarea 元素并设置其值为 <pre> 中的文本内容
                    var tempTextarea = document.createElement('textarea');
                    tempTextarea.value = textContent;
                    // 将临时 textarea 添加到文档中
                    document.body.appendChild(tempTextarea);
                    // 选中临时 textarea 中的文本内容并执行复制操作
                    tempTextarea.select();
                    document.execCommand('copy');
                    // 移除临时 textarea 元素
                    document.body.removeChild(tempTextarea);
                    // 更新按钮文本为 "已复制"
                    this.textContent = '已复制';
                });

                // 创建AI写代码按钮
                var aiButton = document.createElement('button');
                aiButton.className = 'copy-button';
                aiButton.textContent = 'AI写代码';
                aiButton.style.marginLeft = '5px';
                aiButton.style.marginRight = '5px';
                // 添加点击事件处理程序
                aiButton.addEventListener('click', function() {
                // Generate a random number between 0 and 1
                        var randomChance = Math.random();

                    // If the random number is less than 0.5, open the first URL, else open the second
                    if (randomChance < 0.5) {
                        window.open('https://www.doubao.com/chat/coding?channel=php&source=hw_db_php', '_blank');
                    } else {
                        window.open('https://click.aliyun.com/m/1000402709/', '_blank');
                    }
                });

                // 将按钮添加到 <pre> 元素前面
                preElement.parentNode.insertBefore(copyButton, preElement);
                preElement.parentNode.insertBefore(aiButton, preElement);
        });
        }
</script>