0

0

Yii框架官方指南系列43——专题:URL(创建、路由、美化及自定义)

黄舟

黄舟

发布时间:2017-02-16 09:29:10

|

1651人浏览过

|

来源于php中文网

原创


web应用程序完整的url管理包括两个方面。首先, 当用户请求约定的url,应用程序需要解析 它变成可以理解的参数。第二,应用程序需求提供一种创造url的方法,以便创建的url应用程序可以理解的。对于yii应用程序,这些通过curlmanager辅助完成。

1. Creating URLs(创建网址)

虽然URL可被硬编码在控制器的视图(view)文件,但往往可以很灵活地动态创建它们:

$url=$this->createUrl($route,$params);

$this指的是控制器实例; $route指定请求的route 的要求;$params列出了附加在网址中的GET参数。

默认情况下,URL以get格式使用createUrl创建。例如,提供$route='post/read'和$params=array('id'=>100) ,我们将获得以下网址:

/index.php?r=post/read&id=100

参数以一系列Name=Value通过符号串联起来出现在请求字符串,r参数指的是请求的route 。这种URL格式用户友好性不是很好,因为它需要一些非字字符。

我们可以使上述网址看起来更简洁,更不言自明,通过采用所谓的'path格式,省去查询字符串和把GET参数加到路径信息,作为网址的一部分:

/index.php/post/read/id/100

要更改URL格式,我们应该配置urlManager应用元件,以便createUrl可以自动切换到新格式和应用程序可以正确理解新的网址:

array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
        ),
    ),
);

请注意,我们不需要指定的urlManager元件的类,因为它在CWebApplication预声明为CUrlManager。

createurl方法所产生的是一个相对地址。为了得到一个绝对的url ,我们可以用前缀yii">提示:此网址通过createurl方法所产生的是一个相对地址。为了得到一个绝对的url ,我们可以用前缀yii::app()->hostInfo ,或调用createAbsoluteUrl 。

2. User-friendly URLs(用户友好的URL)

当用path格式URL,我们可以指定某些URL规则使我们的网址更用户友好性。例如,我们可以产生一个短短的URL/post/100 ,而不是冗长/index.php/post/read/id/100。网址创建和解析都是通过CUrlManager指定网址规则。

要指定的URL规则,我们必须设定urlManager 应用元件的属性rules:

array(
    ......
    'components'=>array(
        ......
        'urlManager'=>array(
            'urlFormat'=>'path',
            'rules'=>array(
                'pattern1'=>'route1',
                'pattern2'=>'route2',
                'pattern3'=>'route3',
            ),
        ),
    ),
);

这些规则以一系列的路线格式对数组指定,每对对应于一个单一的规则。路线(route)的格式必须是有效的正则表达式,没有分隔符和修饰语。它是用于匹配网址的路径信息部分。还有route应指向一个有效的路线控制器。

规则可以绑定少量的GET参数。这些出现在规则格式的GET参数,以一种特殊令牌格式表现如下:

'pattern1'=>array('route1', 'urlSuffix'=>'.xml', 'caseSensitive'=>false)

上面的数组包含了一系列自定义的选项设置,在版本1.1.0中,下面的选项是有效的:

  • urlSuffix: URL所使用的后缀设置规则,默认是null,使用的是CUrlManager::urlSuffix的设置.

  • caseSensitive: 规则是否是大小学敏感的,默认是null,使用的是CUrlManager::caseSensitive的默认值.

  • defaultParams: 规则提供的GET参数的默认值 (name=>value). 当规则用来解析输入请求的时候,该属性中声明的值将会注入$_GET.

  • matchValue: 当创建一个URL的时候GET参数的值是否和规则中相应的子模式相匹配. 默认是null, 意味着使用的是CUrlManager::matchValue中的值. 如果属性值是false, 意味着如果路由和参数名与给定的匹配那么该规则被用来创建一个URL. 如果该属性被设置为true,那么给定的参数值一定也要和相应的子模式参数值相匹配. 注意如果设置该属性的值为true将会降低性能

使用命名参数

一个规则可以关联一些GET参数。这些GET参数作为特殊令牌出现在规则的模式中,如下所示:

;

ParamName表示GET参数名字,可选项ParamPattern表示将用于匹配GET参数值的正则表达式。当生成一个网址(URL)时,这些参数令牌将被相应的参数值替换;当解析一个网址时,相应的GET参数将通过解析结果来生成。

我们使用一些例子来解释网址工作规则。我们假设我们的规则包括如下三个:

array(
    'posts'=>'post/list',
    'post/'=>'post/read',
    'post//'=>'post/read',
)</pre><p></p>
<ul class=" list-paddingleft-2">
<li><p>调用<code>$this->createUrl('post/list')</code>生成<code>/index.php/posts</code>。第一个规则适用。</p></li>
<li><p>调用<code>$this->createUrl('post/read',array('id'=>100))</code>生成<code>/index.php/post/100</code>。第二个规则适用。</p></li>
<li><p>调用<code>$this->createUrl('post/read',array('year'=>2008,'title'=>'a sample post'))</code>生成<code>/index.php/post/2008/a%20sample%20post</code>。第三个规则适用。</p></li>
<li><p>调用<code>$this->createUrl('post/read')</code>产生<code>/index.php/post/read</code>。请注意,没有规则适用。</p></li>
</ul>
<p>总之,当使用createUrl生成网址,路线和传递给该方法的GET参数被用来决定哪些网址规则适用。如果关联规则中的每个参数可以在GET参数找到的,将被传递给createUrl ,如果路线的规则也匹配路线参数,规则将用来生成网址。</p>
<p>如果GET参数传递到createUrl是以上所要求的一项规则,其他参数将出现在查询字符串。例如,如果我们调用<code>$this->createUrl('post/read',array('id'=>100,'year'=>2008))</code> ,我们将获得<code>/index.php/post/100?year=2008</code>。为了使这些额外参数出现在路径信息的一部分,我们应该给规则附加<code>/*</code>。 因此,该规则<code>post/<id:>/*</id:></code> ,我们可以获取网址<code>/index.php/post/100/year/2008</code> 。</p>
<p>正如我们提到的,URL规则的其他用途是解析请求网址。当然,这是URL生成的一个逆过程。例如, 当用户请求<code>/index.php/post/100</code> ,上面例子的第二个规则将适用来解析路线<code>post/read</code>和GET参数<code>array('id'=>100)</code> (可通过<code>$_GET</code>获得) 。</p>
<blockquote><p>createurl方法所产生的是一个相对地址。为了得到一个绝对的url ,我们可以用前缀<code><code>yii"></code></code>注:使用的URL规则将降低应用的性能。这是因为当解析请求的URL ,[ CUrlManager ]尝试使用每个规则来匹配它,直到某个规则可以适用。因此,高流量网站应用应尽量减少其使用的URL规则。</p></blockquote>
<h4>参数化路由</h4>
<p>从版本1.0.5开始, 我们可能会用到命名参数作为路由规则的一部分. 这就允许一个规则可以基于匹配规范被用来匹配多个路由,这也许还会帮助减少应用所需的规则的数目,从而提高整体的性能.</p>
<p>我们使用如下示例规则来说明如何通过命名参数来参数化路由:</p>
<p></p><pre class="brush:php;toolbar:false;">array(
    '<_c:(post|comment)>/<id:\d+>/<_a:(create|update|delete)>' => '<_c>/<_a>',
    '<_c:(post|comment)>/<id:\d+>' => '<_c>/read',
    '<_c:(post|comment)>s' => '<_c>/list',
)</pre><p></p>
<p>在上面的示例中, 我们在路由规则中使用了两个命名参数: <code>_c</code>和<code>_a</code>. The former matches a controller ID to be either <code>post</code> or <code>comment</code>, while the latter matches an action ID to be <code>create</code>, <code>update</code> or <code>delete</code>. You may name the parameters differently as long as they do not conflict with GET parameters that may appear in URLs.</p>
<p>使用上面的规则, URL <code>/index.php/post/123/create</code> 将会被解析为 <code>post/create</code> 使用GET参数 <code>id=123</code>. And given the route <code>comment/list</code> and GET parameter <code>page=2</code>, we can create a URL <code>/index.php/comments?page=2</code>.</p>
<h4>参数化主机名</h4>
<p>从版本1.0.11开始, it is also possible to include hostname into the rules for parsing and creating URLs. One may extract part of the hostname to be a GET parameter. For example, the URL <code>http://www.php.cn/</code> may be parsed into GET parameters <code>user=admin</code> and <code>lang=en</code>. On the other hand, rules with hostname may also be used to create URLs with paratermized hostnames.</p>
<p>In order to use parameterized hostnames, simply declare URL rules with host info, e.g.:</p>
<p></p><pre class="brush:php;toolbar:false;">array(
    'http://<user:\w+>.example.com/<lang:\w+>/profile' => 'user/profile',
)</pre><p></p>
<p>The above example says that the first segment in the hostname should be treated as <code>user</code>parameter while the first segment in the path info should be <code>lang</code> parameter. The rule corresponds to the <code>user/profile</code> route.</p>
<p>Note that CUrlManager::showScriptName will not take effect when a URL is being created using a rule with parameterized hostname.</p>
<p>Also note that the rule with parameterized hostname should NOT contain the sub-folder if the application is under a sub-folder of the Web root. For example, if the application is under <code>http://www.php.cn/</code>, then we should still use the same URL rule as described above without the sub-folder <code>sandbox/blog</code>.</p>
<h4>隐藏 <code>index.php</code>
</h4>
<p>还有一点,我们可以做进一步清理我们的网址,即在URL中藏匿<code>index.php</code>入口脚本。这就要求我们配置Web服务器,以及urlManager应用程序元件。</p>
<p>我们首先需要配置Web服务器,这样一个URL没有入口脚本仍然可以处理入口脚本。如果是Apache HTTP server,可以通过打开网址重写引擎和指定一些重写规则。这两个操作可以在包含入口脚本的目录下的<code>.htaccess</code>文件里实现。下面是一个示例:</p><pre class="brush:php;toolbar:false;">Options +FollowSymLinks
IndexIgnore */*
RewriteEngine on

# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

# otherwise forward it to index.php
RewriteRule . index.php</pre><p>然后,我们设定urlManager元件的showScriptName属性为 <code>false</code>。</p>
<p>注意在正式测试之前确保apache开启了rewrite模块,在ubuntu中开启的方式如下:</p>
<p>cd /etc/apache2/mods-enabled</p>
<p>sudo ln -s ../mods-available/rewrite.load rewrite.load</p>
<p>sudo service apache2 restart</p>
<p>现在,如果我们调用<code>$this->createUrl('post/read',array('id'=>100))</code> ,我们将获取网址<code>/post/100</code>。更重要的是,这个URL可以被我们的Web应用程序正确解析。</p>
<h4>Faking URL Suffix(伪造URL后缀)</h4>
<p>我们还可以添加一些网址的后缀。例如,我们可以用<code>/post/100.html</code>来替代<code>/post/100</code> 。这使得它看起来更像一个静态网页URL。为了做到这一点,只需配置urlManager元件的urlSuffix属性为你所喜欢的后缀。</p>
<h3>3. 使用自定义URL规则设置类</h3>
<blockquote><p><strong>注意:</strong> Yii从1.1.8版本起支持自定义URL规则类</p></blockquote>
<p>默认情况下,每个URL规则都通过CUrlManager来声明为一个CUrlRule对象,这个对象会解析当前请求并根据具体的规则来生成URL。 虽然CUrlRule可以处理大部分URL格式,但在某些特殊情况下仍旧有改进余地。</p>
<p>比如,在一个汽车销售网站上,可能会需要支持类似<code>/Manufacturer/Model</code>这样的URL格式, 其中<code>Manufacturer</code> 和 <code>Model</code> 都各自对应数据库中的一个表。此时CUrlRule就无能为力了。</p>
<p>我们可以通过继承CUrlRule的方式来创造一个新的URL规则类。并且使用这个类解析一个或者多个规则。 以上面提到的汽车销售网站为例,我们可以声明下面的URL规则。</p>
<p></p><pre class="brush:php;toolbar:false;">array(
    // 一个标准的URL规则,将 '/' 对应到 'site/index'
    '' => 'site/index',

    // 一个标准的URL规则,将 '/login' 对应到 'site/login', 等等
    '<action:(login|logout|about)>' => 'site/<action>',

    // 一个自定义URL规则,用来处理 '/Manufacturer/Model'
    array(
        'class' => 'application.components.CarUrlRule',
        'connectionID' => 'db',
    ),

    // 一个标准的URL规则,用来处理 'post/update' 等
    '<controller:\w+>/<action:\w+>' => '<controller>/<action>',
),</pre><p></p>
<p>从以上可以看到,我们自定义了一个URL规则类<code>CarUrlRule</code>来处理类似<code>/Manufacturer/Model</code>这样的URL规则。 这个类可以这么写:</p>
<p></p><pre class="brush:php;toolbar:false;">class CarUrlRule extends CBaseUrlRule
{
    public $connectionID = 'db';

    public function createUrl($manager,$route,$params,$ampersand)
    {
        if ($route==='car/index')
        {
            if (isset($params['manufacturer'], $params['model']))
                return $params['manufacturer'] . '/' . $params['model'];
            else if (isset($params['manufacturer']))
                return $params['manufacturer'];
        }
        return false;  // this rule does not apply
    }

    public function parseUrl($manager,$request,$pathInfo,$rawPathInfo)
    {
        if (preg_match('%^(\w+)(/(\w+))?$%', $pathInfo, $matches))
        {
            // check $matches[1] and $matches[3] to see
            // if they match a manufacturer and a model in the database
            // If so, set $_GET['manufacturer'] and/or $_GET['model']
            // and return 'car/index'
        }
        return false;  // this rule does not apply
    }
}</pre><p></p>
<p>自定义URL规则类必须实现在CBaseUrlRule中定义的两个接口。</p>
<ul class=" list-paddingleft-2">
<li><p>[CBaseUrlRule::createUrl()|createUrl()]</p></li>
<li><p>[CBaseUrlRule::parseUrl()|parseUrl()]</p></li>
</ul>
<p>除了这种典型用法,自定义URL规则类还可以有其他的用途。比如,我们可以写一个规则类来记录有关URL解析和UEL创建的请求。 这对于正在开发中的网站来说很有用。我们还可以写一个规则类来在其他URL规则都匹配失败的时候显示一个自定义404页面。 注意,这种用法要求规则类在所有其他规则的最后声明。</p>
<p> 以上就是Yii框架官方指南系列43——专题:URL(创建、路由、美化及自定义)的内容,更多相关内容请关注PHP中文网(www.php.cn)!<br></p>					</div>
					<div class="artmoreart ">
													<div class="artdp artptit"><span></span>
								<p>相关文章</p>
							</div>
							<div class="artmores flexColumn">
																	<a class="artmrlis flexRow" href="/faq/2031798.html" title="php连接websocket浏览器兼容吗_php连接websocket兼容情况【说明】"><b></b>
										<p class="overflowclass">php连接websocket浏览器兼容吗_php连接websocket兼容情况【说明】</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/2031066.html" title="php数据库怎么进用框架laravel进_phpLaravel连库法【教程】"><b></b>
										<p class="overflowclass">php数据库怎么进用框架laravel进_phpLaravel连库法【教程】</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/2030135.html" title="php实时输出laravel能实现吗_php实时输出laravel用法【教程】"><b></b>
										<p class="overflowclass">php实时输出laravel能实现吗_php实时输出laravel用法【教程】</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/2025077.html" title="如何在 Lumen 迁移中为非标准命名关联表定义外键"><b></b>
										<p class="overflowclass">如何在 Lumen 迁移中为非标准命名关联表定义外键</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/2019357.html" title="php后端开发主要会哪些技术_php后端核心技术掌握要点"><b></b>
										<p class="overflowclass">php后端开发主要会哪些技术_php后端核心技术掌握要点</p>
									</a>
															</div>
													<div class="aritcle_card flexRow">
							<div class="artcardd flexRow">
								<a class="aritcle_card_img" href="https://pan.quark.cn/s/54aeb8e01032" title="路由优化大师"><img
										src="https://img.php.cn/upload/Recdownload/000/000/085/6673ba88a8fc9598.png" alt="路由优化大师"></a>
								<div class="aritcle_card_info flexColumn">
									<a href="https://pan.quark.cn/s/54aeb8e01032" title="路由优化大师">路由优化大师</a>
									<p>路由优化大师是一款及简单的路由器设置管理软件,其主要功能是一键设置优化路由、屏广告、防蹭网、路由器全面检测及高级设置等,有需要的小伙伴快来保存下载体验吧!</p>
								</div>
								<a href="https://pan.quark.cn/s/54aeb8e01032" title="路由优化大师" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
							</div>
						</div>							<div class="artmoretabs flexRow">
								<p>相关标签:</p>
								<div class="mtbs flexRow">
									<a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/24319.html" target="_blank">yii框架</a>								</div>
							</div>
						
						<p class="statement">本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn</p>
						<div class="lastanext flexRow">
													<a class="lastart flexRow" href="/faq/352143.html" title="Yii框架官方指南系列42——专题:验证和授权"><span>上一篇:</span>Yii框架官方指南系列42——专题:验证和授权</a>
													<a class="nextart flexRow" href="/faq/352145.html" title="Yii框架官方指南系列44——专题:Theming(主题)"><span>下一篇:</span>Yii框架官方指南系列44——专题:Theming(主题)</a>
												</div>
					</div>

					<div class="artlef-down ">
													<div class="authormore ">
								<div class="rightdTitle flexRow">
									<div class="title-left flexRow"> <b></b>
										<p>作者最新文章</p>
									</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/357705.html" title="HTML5 Placeholder属性的详情介绍"><b></b>
												<p class="overflowclass">HTML5 Placeholder属性的详情介绍</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2018-05-30 09:51</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/369412.html" title="html中关于标签的全部属性的使用总结"><b></b>
												<p class="overflowclass">html中关于标签的全部属性的使用总结</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2018-05-30 14:32</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/375194.html" title="php如何快速实现数组去重的实例"><b></b>
												<p class="overflowclass">php如何快速实现数组去重的实例</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2018-05-30 15:03</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/376186.html" title="php中关于IMAP如何收取邮件的方法介绍"><b></b>
												<p class="overflowclass">php中关于IMAP如何收取邮件的方法介绍</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2018-05-31 09:38</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/377137.html" title="PHPMailer如何利用QQ邮箱完成邮件发送功能的实例分析"><b></b>
												<p class="overflowclass">PHPMailer如何利用QQ邮箱完成邮件发送功能的实例分析</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2018-05-31 10:28</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/377601.html" title="从零开始打造自己的PHP框架的视频资料"><b></b>
												<p class="overflowclass">从零开始打造自己的PHP框架的视频资料</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2018-05-31 10:45</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/379971.html" title="php基础知识总结(新手入门必备)"><b></b>
												<p class="overflowclass">php基础知识总结(新手入门必备)</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2018-05-30 14:26</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/380149.html" title="ReactJS中表单的单选多选与反选的实现方法"><b></b>
												<p class="overflowclass">ReactJS中表单的单选多选与反选的实现方法</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2018-05-30 09:45</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/381607.html" title="JavaScript中typeof的使用方法介绍"><b></b>
												<p class="overflowclass">JavaScript中typeof的使用方法介绍</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2018-05-30 11:42</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/382066.html" title="JavaScript中confirm()方法的使用介绍"><b></b>
												<p class="overflowclass">JavaScript中confirm()方法的使用介绍</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2018-05-30 10:29</p>
											</div>
										</div>
								</div>
															</div>
						
						<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   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/723" title="DeepSeek" class="aibtnsa 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'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/723" title="DeepSeek" class="overflowclass abripone">DeepSeek</a>
												<p class="overflowclass abriptwo">幻方量化公司旗下的开源大模型平台</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/chat" target="_blank">AI 聊天问答</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/726" title="豆包大模型" class="aibtnsa 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'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/726" title="豆包大模型" class="overflowclass abripone">豆包大模型</a>
												<p class="overflowclass abriptwo">字节跳动自主研发的一系列大型语言模型</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/code/large-model" target="_blank">AI大模型</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/725" title="通义千问" class="aibtnsa 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'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/725" title="通义千问" class="overflowclass abripone">通义千问</a>
												<p class="overflowclass abriptwo">阿里巴巴推出的全能AI助手</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/ai-agent" target="_blank">Agent智能体</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/854" title="腾讯元宝" class="aibtnsa 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'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/854" title="腾讯元宝" class="overflowclass abripone">腾讯元宝</a>
												<p class="overflowclass abriptwo">腾讯混元平台推出的AI助手</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/office/docs" target="_blank">文档处理</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/chat" target="_blank">AI 聊天问答</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/724" title="文心一言" class="aibtnsa 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'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/724" title="文心一言" class="overflowclass abripone">文心一言</a>
												<p class="overflowclass abriptwo">文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/text" target="_blank">AI 文本写作</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/1507" title="讯飞写作" class="aibtnsa 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'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/1507" title="讯飞写作" class="overflowclass abripone">讯飞写作</a>
												<p class="overflowclass abriptwo">基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/text" target="_blank">AI 文本写作</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/text/chinese-writing" target="_blank">中文写作</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/1115" title="即梦AI" class="aibtnsa 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'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/1115" title="即梦AI" class="overflowclass abripone">即梦AI</a>
												<p class="overflowclass abriptwo">一站式AI创作平台,免费AI图片和视频生成。</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/image/image-titching" target="_blank">图片拼接</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/image/image-create" target="_blank">图画生成</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/808" title="ChatGPT" class="aibtnsa 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'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/808" title="ChatGPT" class="overflowclass abripone">ChatGPT</a>
												<p class="overflowclass abriptwo">最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/text" target="_blank">AI 文本写作</a>													</div>
																							</div>
										</div>
									</div>
																	<div class="aidcons flexRow   ">
										<div   class="aibtns flexRow">
											<a target="_blank" href="/ai/821" title="智谱清言 - 免费全能的AI助手" class="aibtnsa 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'">
											</a>
											<div class="aibtn-right flexColumn">
												<a target="_blank" href="/ai/821" title="智谱清言 - 免费全能的AI助手" class="overflowclass abripone">智谱清言 - 免费全能的AI助手</a>
												<p class="overflowclass abriptwo">智谱清言 - 免费全能的AI助手</p>
																									<div class="aidconstab flexRow">
														<a class="aidcontbp flexRow flexcenter" href="/ai/tag/code" target="_blank">AI 编程开发</a><a class="aidcontbp flexRow flexcenter" href="/ai/tag/ai-agent" target="_blank">Agent智能体</a>													</div>
																							</div>
										</div>
									</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/pzryycljcy" class="aClass flexRow hotzta" title="Python 自然语言处理(NLP)基础与实战"><img
										src="https://img.php.cn/upload/subject/202601/27/2026012710092376103.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Python 自然语言处理(NLP)基础与实战" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pzryycljcy" class="aClass flexRow hotztra overflowclass" title="Python 自然语言处理(NLP)基础与实战">Python 自然语言处理(NLP)基础与实战</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。</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.27</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pddzqd5zff" class="aClass flexRow hotzta" title="拼多多赚钱的5种方法 拼多多赚钱的5种方法"><img
										src="https://img.php.cn/upload/subject/000/000/080/697701814e6f5914.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="拼多多赚钱的5种方法 拼多多赚钱的5种方法" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/pddzqd5zff" class="aClass flexRow hotztra overflowclass" title="拼多多赚钱的5种方法 拼多多赚钱的5种方法">拼多多赚钱的5种方法 拼多多赚钱的5种方法</a>
									<p class="aClass flexRow hotztrp overflowclass">在拼多多上赚钱主要可以通过无货源模式一件代发、精细化运营特色店铺、参与官方高流量活动、利用拼团机制社交裂变,以及成为多多进宝推广员这5种方法实现。核心策略在于通过低成本、高效率的供应链管理与营销,利用平台社交电商红利实现盈利。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">109</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.26</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/edgellqzmszzy" class="aClass flexRow hotzta" title="edge浏览器怎样设置主页 edge浏览器自定义设置教程"><img
										src="https://img.php.cn/upload/subject/000/000/080/6977004d3fc2e319.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="edge浏览器怎样设置主页 edge浏览器自定义设置教程" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/edgellqzmszzy" class="aClass flexRow hotztra overflowclass" title="edge浏览器怎样设置主页 edge浏览器自定义设置教程">edge浏览器怎样设置主页 edge浏览器自定义设置教程</a>
									<p class="aClass flexRow hotztrp overflowclass">在Edge浏览器中设置主页,请依次点击右上角“...”图标 > 设置 > 开始、主页和新建标签页。在“Microsoft Edge 启动时”选择“打开以下页面”,点击“添加新页面”并输入网址。若要使用主页按钮,需在“外观”设置中开启“显示主页按钮”并设定网址。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">16</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.26</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/pggfcxwz" class="aClass flexRow hotzta" title="苹果官方查询网站 苹果手机正品激活查询入口"><img
										src="https://img.php.cn/upload/subject/000/000/080/6976ff1227b41519.png?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/pggfcxwz" class="aClass flexRow hotztra overflowclass" title="苹果官方查询网站 苹果手机正品激活查询入口">苹果官方查询网站 苹果手机正品激活查询入口</a>
									<p class="aClass flexRow hotztrp overflowclass">苹果官方查询网站主要通过 checkcoverage.apple.com/cn/zh/ 进行,可用于查询序列号(SN)对应的保修状态、激活日期及技术支持服务。此外,查找丢失设备请使用 iCloud.com/find,购买信息与物流可访问 Apple (中国大陆) 订单状态页面。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">136</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.26</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/npdrgsmys" class="aClass flexRow hotzta" title="npd人格什么意思 npd人格有什么特征"><img
										src="https://img.php.cn/upload/subject/000/000/080/6976fda5b99a0704.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="npd人格什么意思 npd人格有什么特征" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/npdrgsmys" class="aClass flexRow hotztra overflowclass" title="npd人格什么意思 npd人格有什么特征">npd人格什么意思 npd人格有什么特征</a>
									<p class="aClass flexRow hotztrp overflowclass">NPD(Narcissistic Personality Disorder)即自恋型人格障碍,是一种心理健康问题,特点是极度夸大自我重要性、需要过度赞美与关注,同时极度缺乏共情能力,背后常掩藏着低自尊和不安全感,影响人际关系、工作和生活,通常在青少年时期开始显现,需由专业人士诊断。</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.26</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/winaqzxzmgb" class="aClass flexRow hotzta" title="windows安全中心怎么关闭 windows安全中心怎么执行操作"><img
										src="https://img.php.cn/upload/subject/000/000/080/6976fcce8fd6b387.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="windows安全中心怎么关闭 windows安全中心怎么执行操作" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/winaqzxzmgb" class="aClass flexRow hotztra overflowclass" title="windows安全中心怎么关闭 windows安全中心怎么执行操作">windows安全中心怎么关闭 windows安全中心怎么执行操作</a>
									<p class="aClass flexRow hotztrp overflowclass">关闭Windows安全中心(Windows Defender)可通过系统设置暂时关闭,或使用组策略/注册表永久关闭。最简单的方法是:进入设置 > 隐私和安全性 > Windows安全中心 > 病毒和威胁防护 > 管理设置,将实时保护等选项关闭。</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.26</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/cyqpgldq2026" class="aClass flexRow hotzta" title="2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】"><img
										src="https://img.php.cn/upload/subject/202601/26/2026012613301935698.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/cyqpgldq2026" class="aClass flexRow hotztra overflowclass" title="2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】">2026年春运抢票攻略大全 春运抢票攻略教你三招手【技巧】</a>
									<p class="aClass flexRow hotztrp overflowclass">铁路12306提供起售时间查询、起售提醒、购票预填、候补购票及误购限时免费退票五项服务,并强调官方渠道唯一性与信息安全。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">122</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.26</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/grsdsslb" class="aClass flexRow hotzta" title="个人所得税税率表2026 个人所得税率最新税率表"><img
										src="https://img.php.cn/upload/subject/000/000/080/6976f9d1d9578256.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="个人所得税税率表2026 个人所得税率最新税率表" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/grsdsslb" class="aClass flexRow hotztra overflowclass" title="个人所得税税率表2026 个人所得税率最新税率表">个人所得税税率表2026 个人所得税率最新税率表</a>
									<p class="aClass flexRow hotztrp overflowclass">以工资薪金所得为例,应纳税额 = 应纳税所得额 × 税率 - 速算扣除数。应纳税所得额 = 月度收入 - 5000 元 - 专项扣除 - 专项附加扣除 - 依法确定的其他扣除。假设某员工月工资 10000 元,专项扣除 1000 元,专项附加扣除 2000 元,当月应纳税所得额为 10000 - 5000 - 1000 - 2000 = 2000 元,对应税率为 3%,速算扣除数为 0,则当月应纳税额为 2000×3% = 60 元。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">35</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.26</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/oppoyfwgwrk" class="aClass flexRow hotzta" title="oppo云服务官网登录入口 oppo云服务登录手机版"><img
										src="https://img.php.cn/upload/subject/000/000/080/6976f834a9d7a856.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="oppo云服务官网登录入口 oppo云服务登录手机版" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/oppoyfwgwrk" class="aClass flexRow hotztra overflowclass" title="oppo云服务官网登录入口 oppo云服务登录手机版">oppo云服务官网登录入口 oppo云服务登录手机版</a>
									<p class="aClass flexRow hotztrp overflowclass">oppo云服务https://cloud.oppo.com/可以在云端安全存储您的照片、视频、联系人、便签等重要数据。当您的手机数据意外丢失或者需要更换手机时,可以随时将这些存储在云端的数据快速恢复到手机中。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">121</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.26</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="iPicker多级联动城市选择组件" href="/xiazai/js/8683"><span>[表单按钮]</span><span>iPicker多级联动城市选择组件</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="CSS3实现3D图片翻转洗牌特效" href="/xiazai/js/8682"><span>[图片特效]</span><span>CSS3实现3D图片翻转洗牌特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="vue.js表单密码强度验证代码" href="/xiazai/js/8681"><span>[表单按钮]</span><span>vue.js表单密码强度验证代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="React框架制作人物介绍切换特效" href="/xiazai/js/8680"><span>[图片特效]</span><span>React框架制作人物介绍切换特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery手机登录注册表单代码" href="/xiazai/js/8679"><span>[表单按钮]</span><span>jQuery手机登录注册表单代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jquery图片移位效果" href="/xiazai/js/8678"><span>[图片特效]</span><span>jquery图片移位效果</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="html5手机登录表单验证代码" href="/xiazai/js/8677"><span>[表单按钮]</span><span>html5手机登录表单验证代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="Ctrl+Enter键按钮提交表单代码" href="/xiazai/js/8676"><span>[表单按钮]</span><span>Ctrl+Enter键按钮提交表单代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jquery带标题控制图片切换" href="/xiazai/js/8675"><span>[图片特效]</span><span>jquery带标题控制图片切换</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery表单元素动态增加删除代码" href="/xiazai/js/8674"><span>[表单按钮]</span><span>jQuery表单元素动态增加删除代码</span></a>
									</div>
								</li>
													</ul>
						<ul class="twof" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/code/11355" title="openaishop"><span>[电商源码]</span><span>openaishop</span> </a>
									</div>
								</li>
															<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>
													</ul>
						<ul class="threef" style="display:none;">
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4287" title="美味披萨INS宣传模板设计下载"><span>[网站素材]</span><span>美味披萨INS宣传模板设计下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4286" title="新春喜庆烟花装饰合集矢量素材"><span>[网站素材]</span><span>新春喜庆烟花装饰合集矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4285" title="摩托机车宣传海报设计源文件下载"><span>[网站素材]</span><span>摩托机车宣传海报设计源文件下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4284" title="日式美食寿司料理海报矢量模板"><span>[网站素材]</span><span>日式美食寿司料理海报矢量模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4283" title="创意个人手绘工作室票券设计下载"><span>[网站素材]</span><span>创意个人手绘工作室票券设计下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4282" title="新春红色喜庆鞭炮插画矢量素材"><span>[网站素材]</span><span>新春红色喜庆鞭炮插画矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4281" title="情人节爱心元素主题海报PSD模板下载"><span>[网站素材]</span><span>情人节爱心元素主题海报PSD模板下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4280" title="新春灯笼喜庆边框背景矢量素材"><span>[网站素材]</span><span>新春灯笼喜庆边框背景矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4279" title="唯美渔船水墨风景矢量素材"><span>[网站素材]</span><span>唯美渔船水墨风景矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4278" title="情人节半价促销折扣海报PSD源文件下载"><span>[网站素材]</span><span>情人节半价促销折扣海报PSD源文件下载</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/1688.html" title="Django 教程">
									<img src="https://img.php.cn/upload/course/000/000/090/68a6fd2c0a705569.jpeg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Django 教程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1688.html" title="Django 教程"
										class="rirightp overflowclass">Django 教程</a>

									<div class="risrdown flexRow">
										<p>共28课时 | 3.6万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1685.html" title="React 教程">
									<img src="https://img.php.cn/upload/course/000/000/090/68a57f93dca03131.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="React 教程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1685.html" title="React 教程"
										class="rirightp overflowclass">React 教程</a>

									<div class="risrdown flexRow">
										<p>共58课时 | 4.2万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1673.html" title="Bootstrap 5教程">
									<img src="https://img.php.cn/upload/course/000/000/090/6899a24dcdf73781.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Bootstrap 5教程" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1673.html" title="Bootstrap 5教程"
										class="rirightp overflowclass">Bootstrap 5教程</a>

									<div class="risrdown flexRow">
										<p>共46课时 | 3万人学习</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课时 | 11.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.6万人学习</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课时 | 22.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课时 | 11.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="如何在 ACF Post Object 字段中正确获取并显示关联产品的缩略图" href="/faq/2038534.html">如何在 ACF Post Object 字段中正确获取并显示关联产品的缩略图</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何在 PHP 中从 DOMNodeList 中筛选指定标签名的节点" href="/faq/2038529.html">如何在 PHP 中从 DOMNodeList 中筛选指定标签名的节点</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何优化 Laravel 中因嵌套关系预加载不当导致的重复查询问题" href="/faq/2038521.html">如何优化 Laravel 中因嵌套关系预加载不当导致的重复查询问题</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何从 DOMNodeList 中按标签名筛选节点" href="/faq/2038502.html">如何从 DOMNodeList 中按标签名筛选节点</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何监控和定位 PHP 脚本中导致响应延迟的阻塞操作(如 sleep())" href="/faq/2038498.html">如何监控和定位 PHP 脚本中导致响应延迟的阻塞操作(如 sleep())</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="重构租车预订系统季节性定价逻辑:高效、可维护的日期区间价格计算方案" href="/faq/2038481.html">重构租车预订系统季节性定价逻辑:高效、可维护的日期区间价格计算方案</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何使用 PHP 动态读取文本文件内容并设置为网页标题" href="/faq/2038472.html">如何使用 PHP 动态读取文本文件内容并设置为网页标题</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何在 MySQL 中自定义唯一键冲突的错误提示信息" href="/faq/2038451.html">如何在 MySQL 中自定义唯一键冲突的错误提示信息</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何定位导致PHP脚本响应缓慢的阻塞操作(如sleep())" href="/faq/2038442.html">如何定位导致PHP脚本响应缓慢的阻塞操作(如sleep())</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="重构租车预订系统季节性价格计算逻辑的高效实践" href="/faq/2038413.html">重构租车预订系统季节性价格计算逻辑的高效实践</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=352144&time=1769556587">
</script>
<script src="/static/ueditor/third-party/SyntaxHighlighter/shCore.js?1769556587"></script>
<script>
	article_status = "194";
</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>