0

0

什么是XML命名空间?

煙雲

煙雲

发布时间:2025-09-07 10:54:02

|

702人浏览过

|

来源于php中文网

原创

XML命名空间通过URI唯一标识元素和属性,避免不同词汇表间的名称冲突。它使用xmlns声明,支持默认命名空间和带前缀的命名空间,确保元素和属性归属明确。属性需显式加前缀才能属于命名空间,URI仅为唯一标识符而非可访问地址。合理选择URI、使用语义化前缀、理解作用域是最佳实践,命名空间对数据集成、模块化处理至关重要。

什么是xml命名空间?

XML命名空间,简单来说,就是XML世界里用来给元素和属性“打标签”的机制,目的是为了避免不同XML词汇表在同一个文档中出现名字冲突。它通过为这些名字提供一个唯一的标识符(通常是一个URI)来区分它们,确保解析器能准确知道每个元素或属性到底“属于”哪个定义域。

XML文档的魅力在于其强大的可扩展性和结构化能力。但这种能力也带来了潜在的麻烦:当我们需要在一个XML文档中集成来自不同应用或标准的数据时,例如,一份报告既包含客户信息(可能由CRM系统定义),又包含产品详情(由库存系统定义),甚至还有一些通用标记(如HTML片段),就很容易出现元素或属性名称的冲突。想象一下,两个不同的系统都定义了

元素,一个表示人名,另一个表示产品名称,如果没有命名空间,XML解析器就无从分辨。

解决这个问题的关键在于,XML命名空间允许我们将一个元素或属性与一个特定的URI(统一资源标识符)关联起来。这个URI不是一个需要访问的网页地址,它更像是一个唯一的“身份证号码”,用来标识一个特定的XML词汇表。通过这种方式,即使两个元素拥有相同的本地名称,只要它们的命名空间URI不同,它们就被视为完全不同的东西。

例如,我们可以声明一个默认命名空间,它会应用于当前元素及其所有未带前缀的子元素:


  
    XML入门
    张三
  

这里,

</pre>和<pre class="brush:php;toolbar:false;"><author></pre>都属于<pre class="brush:php;toolbar:false;">http://www.example.com/books</pre>这个命名空间。</p>
<p>或者,我们也可以使用前缀来明确指定命名空间:</p><pre class='brush:xml;toolbar:false;'><root xmlns:h="http://www.w3.org/1999/xhtml"
      xmlns:p="http://www.example.com/products">
  <h:table>
    <h:tr><h:td>HTML表格内容</h:td></h:tr>
  </h:table>
  <p:product>
    <p:name>产品A</p:name>
    <p:price>199.99</p:price>
  </p:product>
</root></pre><p>在这个例子里,<pre class="brush:php;toolbar:false;"><h:table></pre>和<pre class="brush:php;toolbar:false;"><p:product></pre>虽然都叫“table”或“product”,但由于它们带了不同的前缀(<pre class="brush:php;toolbar:false;">h</pre>和<pre class="brush:php;toolbar:false;">p</pre>),并分别关联到不同的URI,因此它们被清晰地区分开来,代表着不同的含义。前缀只是URI的一个简短别名,真正重要的是URI本身。</p>
<h3>
<a style="color:#f60; text-decoration:underline;" title="为什么" href="https://www.php.cn/zt/92702.html" target="_blank">为什么</a>XML命名空间对于数据集成至关重要?</h3>
<p>在复杂的企业级应用或Web服务中,数据集成几乎是不可避免的。不同的系统、不同的部门,甚至不同的国家,都可能使用XML来交换信息,而它们各自的XML结构和术语往往是独立的。这就是XML命名空间发挥核心作用的场景。</p>
<p>我个人在处理一些跨系统的数据同步项目时,就深切体会到命名空间的重要性。比如,我们可能需要从一个CRM系统获取客户数据,从一个ERP系统获取订单数据,再从一个物流系统获取配送信息,最终整合成一份综合报告。如果这些系统都简单地使用<pre class="brush:php;toolbar:false;"><id></pre>、<pre class="brush:php;toolbar:false;"><name></pre>、<pre class="brush:php;toolbar:false;"><address></pre>这样的通用元素名,那么在合并这些数据时,就会出现严重的歧义。哪个<pre class="brush:php;toolbar:false;"><id></pre>是客户ID?哪个是订单ID?哪个是物流单号?</p>
<p>命名空间就像是给每个系统的数据划定了一个“地盘”,通过给每个系统的数据元素加上一个独特的“姓氏”(即命名空间URI),即使它们的名字相同,也能通过“姓氏”来区分。这不仅解决了名称冲突,更重要的是,它为XML文档的模块化和重用提供了基础。一个XML<a style="color:#f60; text-decoration:underline;" title="处理器" href="https://www.php.cn/zt/16030.html" target="_blank">处理器</a>可以根据命名空间来识别并处理特定来源的数据,而忽略其他命名空间的数据,极大地提高了处理的灵活性和鲁棒性。它也是XML Schema、XSLT等技术能够有效工作的基石,没有它,这些高级XML处理技术将寸步难行。</p>
<h3>XML命名空间在实践中是如何声明和作用的?</h3>
<p>理解命名空间的声明和作用范围是实际应用的关键。它并非随意添加,而是遵循一套明确的规则。</p><div class="aritcle_card flexRow">
							<div class="artcardd flexRow">
								<a class="aritcle_card_img" href="/xiazai/code/11090" title="Ke361开源淘宝客系统"><img
										src="https://img.php.cn/upload/webcode/000/000/005/176492340718666.jpg" alt="Ke361开源淘宝客系统"></a>
								<div class="aritcle_card_info flexColumn">
									<a href="/xiazai/code/11090" title="Ke361开源淘宝客系统">Ke361开源淘宝客系统</a>
									<p>Ke361是一个开源的淘宝客系统,基于最新的ThinkPHP3.2版本开发,提供更方便、更安全的WEB应用开发体验,采用了全新的架构设计和命名空间机制, 融合了模块化、驱动化和插件化的设计理念于一体,以帮助想做淘宝客而技术水平不高的朋友。突破了传统淘宝客程序对自动采集商品收费的模式,该程序的自动 采集模块对于所有人开放,代码不加密,方便大家修改。集成淘点金组件,自动转换淘宝链接为淘宝客推广链接。K</p>
								</div>
								<a href="/xiazai/code/11090" title="Ke361开源淘宝客系统" class="aritcle_card_btn flexRow flexcenter"><b></b><span>下载</span> </a>
							</div>
						</div>
<p>命名空间主要通过<pre class="brush:php;toolbar:false;">xmlns</pre>属性来声明:</p>
<ol>
<li>
<p><strong>带前缀的命名空间声明</strong>:<pre class="brush:php;toolbar:false;">xmlns:prefix="URI"</pre>。
这会在当前元素上定义一个前缀<pre class="brush:php;toolbar:false;">prefix</pre>,并将其与<pre class="brush:php;toolbar:false;">URI</pre>关联起来。这个前缀可以在当前元素及其所有子元素中使用,直到被新的同名前缀声明覆盖。</p><pre class='brush:xml;toolbar:false;'><root xmlns:my="http://example.com/mydata">
  <my:item>这是我的数据</my:item>
</root></pre><p>这里,<pre class="brush:php;toolbar:false;"><my:item></pre>就属于<pre class="brush:php;toolbar:false;">http://example.com/mydata</pre>命名空间。</p>
</li>
<li>
<p><strong>默认命名空间声明</strong>:<pre class="brush:php;toolbar:false;">xmlns="URI"</pre>。
当一个元素没有前缀时,它会默认属于最近的这个URI所定义的命名空间。</p><pre class='brush:xml;toolbar:false;'><data xmlns="http://example.com/default">
  <item>这是默认命名空间的数据</item>
  <subitem>子元素也属于默认命名空间</subitem>
</data></pre><p>这里,<pre class="brush:php;toolbar:false;"><data></pre>、<pre class="brush:php;toolbar:false;"><item></pre>和<pre class="brush:php;toolbar:false;"><subitem></pre>都属于<pre class="brush:php;toolbar:false;">http://example.com/default</pre>命名空间。</p>
</li>
</ol>
<p>一个很重要的点是,<strong>属性(Attributes)的处理方式</strong>。通常,未带前缀的属性不属于任何命名空间,即使它的父元素在一个默认命名空间中。如果属性需要属于某个命名空间,它必须显式地带上前缀。这是一个常见的“坑”,很多开发者初次接触时都会在这里犯错。</p><pre class='brush:xml;toolbar:false;'><element xmlns="http://example.com/ns1" attr1="value1" ns1:attr2="value2">
    <child attr3="value3"/>
</element></pre><p>在这个例子中:</p>
<ul>
<li><pre class="brush:php;toolbar:false;"><element></pre>和<pre class="brush:php;toolbar:false;"><child></pre>都属于<pre class="brush:php;toolbar:false;">http://example.com/ns1</pre>这个默认命名空间。</li>
<li><pre class="brush:php;toolbar:false;">attr1</pre>和<pre class="brush:php;toolbar:false;">attr3</pre>这两个属性,由于没有前缀,它们不属于任何命名空间(或者说,属于“空命名空间”)。</li>
<li><pre class="brush:php;toolbar:false;">ns1:attr2</pre>这个属性,因为它带了前缀<pre class="brush:php;toolbar:false;">ns1</pre>,所以它属于<pre class="brush:php;toolbar:false;">http://example.com/ns1</pre>命名空间。</li>
</ul>
<p>理解这个细微差别至关重要,它直接影响到XML解析器如何处理这些数据,以及XSLT或XPath表达式如何定位这些元素和属性。</p>
<h3>使用XML命名空间时常见的误区与最佳实践</h3>
<p>在我的经验里,尽管XML命名空间概念并不复杂,但在实际使用中,开发者还是会遇到一些常见的误区,同时也有一些最佳实践可以帮助我们更好地利用它。</p>
<p><strong>常见误区:</strong></p>
<ol>
<li>
<strong>URI被误认为是URL</strong>:很多人会尝试在<a style="color:#f60; text-decoration:underline;" title="浏览器" href="https://www.php.cn/zt/16180.html" target="_blank">浏览器</a>中打开命名空间的URI,期望能看到一个XML Schema或定义文件。但实际上,这个URI仅仅是一个唯一的标识符,它不一定指向一个实际可访问的资源。它更像是一个“名字”,而不是一个“地址”。</li>
<li>
<strong>属性的命名空间问题</strong>:前面提到过,未带前缀的属性不属于任何命名空间,即使其父元素在默认命名空间中。这是一个非常普遍的误解,常常导致XPath查询失败或Schema验证不通过。比如,如果你想匹配一个在默认命名空间下的元素的某个属性,你不能直接写<pre class="brush:php;toolbar:false;">//element/@attribute</pre>,因为<pre class="brush:php;toolbar:false;">@attribute</pre>不在命名空间中。你可能需要更复杂的XPath表达式,或者确保属性也带上前缀。</li>
<li>
<strong>前缀的误解</strong>:有人认为前缀本身具有语义。但实际上,前缀只是URI的一个本地别名。<pre class="brush:php;toolbar:false;">xmlns:a="http://example.com/ns"</pre>和<pre class="brush:php;toolbar:false;">xmlns:b="http://example.com/ns"</pre>声明的是同一个命名空间,前缀<pre class="brush:php;toolbar:false;">a</pre>和<pre class="brush:php;toolbar:false;">b</pre>在语义上是等价的。真正重要的是URI。</li>
<li>
<strong>过度使用或滥用默认命名空间</strong>:虽然默认命名空间可以简化XML文档,减少前缀的视觉噪音,但如果文档中混合了太多不同命名空间的元素,过度依赖默认命名空间会导致混乱,反而降低可读性。</li>
</ol>
<p><strong>最佳实践:</strong></p>
<ol>
<li>
<strong>选择稳定的、唯一的URI</strong>:命名空间URI一旦确定,就不应随意更改。通常,使用基于公司域名(即使该URI不解析到任何实际页面)的URI是一个好习惯,例如<pre class="brush:php;toolbar:false;">http://www.mycompany.com/schemas/mydata/v1</pre>。这样可以确保全球唯一性。</li>
<li>
<strong>明智地使用前缀</strong>:尽管前缀是任意的,但使用具有一定语义或约定俗成的前缀(如<pre class="brush:php;toolbar:false;">xs</pre>代表XML Schema,<pre class="brush:php;toolbar:false;">soap</pre>代表SOAP)可以提高文档的可读性。当文档中混合了少量不同命名空间时,使用前缀比频繁切换默认命名空间更清晰。</li>
<li>
<strong>理解<a style="color:#f60; text-decoration:underline;" title="作用域" href="https://www.php.cn/zt/35787.html" target="_blank">作用域</a></strong>:命名空间声明的作用域是从声明它的元素开始,向下延伸到其所有子元素,直到遇到同名前缀的重新声明。清晰地理解这一点有助于避免不必要的重复声明或意外的命名空间覆盖。</li>
<li>
<strong>为属性显式声明命名空间</strong>:如果一个属性确实需要属于某个命名空间(例如在XML Schema中定义了),务必为其加上前缀。避免依赖默认命名空间来隐含地处理属性。</li>
<li>
<strong>借助<a style="color:#f60; text-decoration:underline;" title="工具" href="https://www.php.cn/zt/16887.html" target="_blank">工具</a></strong>:现代的XML编辑器和解析器通常都对命名空间有很好的支持。学会利用这些工具的自动补全、验证和导航功能,可以大大提高开发效率,并减少因命名空间问题带来的困扰。</li>
</ol>
<p>命名空间是XML生态中一个基础但至关重要的概念。掌握它,不仅能写出更健壮、更可维护的XML文档,也能更有效地处理和理解那些复杂的XML数据。它就像是给XML元素和属性打上了“家族印记”,让它们在错综复杂的数据世界中,依然能清晰地表明自己的“出身”。</p>					</div>
					<div class="artmoreart ">
													<div class="artdp artptit"><span></span>
								<p>相关文章</p>
							</div>
							<div class="artmores flexColumn">
																	<a class="artmrlis flexRow" href="/faq/2015004.html" title="Mule配置文件是什么 如何用XML来编排API和集成"><b></b>
										<p class="overflowclass">Mule配置文件是什么 如何用XML来编排API和集成</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/2011481.html" title="SQL Server如何将XML数据 shredding到表中"><b></b>
										<p class="overflowclass">SQL Server如何将XML数据 shredding到表中</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/2011263.html" title="YAML到XML的数据结构映射"><b></b>
										<p class="overflowclass">YAML到XML的数据结构映射</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/2011101.html" title="一对多关系的XML数据如何映射?"><b></b>
										<p class="overflowclass">一对多关系的XML数据如何映射?</p>
									</a>
																	<a class="artmrlis flexRow" href="/faq/2011090.html" title="XML的有效性是什么 如何通过DTD或XSD来验证它"><b></b>
										<p class="overflowclass">XML的有效性是什么 如何通过DTD或XSD来验证它</p>
									</a>
															</div>
													<div class="artmoretabs flexRow">
								<p>相关标签:</p>
								<div class="mtbs flexRow">
									<a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15763.html" target="_blank">html</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16030.html" target="_blank">处理器</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16180.html" target="_blank">浏览器</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/16887.html" target="_blank">工具</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/33940.html" target="_blank">xml处理</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/35787.html" target="_blank">作用域</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/92702.html" target="_blank">为什么</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=html" target="_blank">html</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=命名空间" target="_blank">命名空间</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=xml" target="_blank">xml</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=标识符" target="_blank">标识符</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=Attribute" target="_blank">Attribute</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=作用域" target="_blank">作用域</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=default" target="_blank">default</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=table" target="_blank">table</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=http" target="_blank">http</a>								</div>
							</div>
						
						<p class="statement">本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn</p>
						<div class="lastanext flexRow">
													<a class="lastart flexRow" href="/faq/1503087.html" title="XML规范化是什么意思?"><span>上一篇:</span>XML规范化是什么意思?</a>
													<a class="nextart flexRow" href="/faq/1503093.html" title="如何提取RSS中的媒体内容?"><span>下一篇:</span>如何提取RSS中的媒体内容?</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/2015714.html" title="拼多多为什么被处罚"><b></b>
												<p class="overflowclass">拼多多为什么被处罚</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-22 10:25</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/2015789.html" title="1加仑等于多少升?美制与英制容积单位换算"><b></b>
												<p class="overflowclass">1加仑等于多少升?美制与英制容积单位换算</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-22 10:39</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/2015816.html" title="BizTalk中的Envelope和Debatching如何处理XML"><b></b>
												<p class="overflowclass">BizTalk中的Envelope和Debatching如何处理XML</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-22 10:43</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/2015818.html" title="US7码等于中国多少码?中美鞋码尺寸对照表【海淘必看】"><b></b>
												<p class="overflowclass">US7码等于中国多少码?中美鞋码尺寸对照表【海淘必看】</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-22 10:43</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/2015819.html" title="Python如何递归遍历XML树的所有节点"><b></b>
												<p class="overflowclass">Python如何递归遍历XML树的所有节点</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-22 10:44</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/2015824.html" title="高铁一人能带两个行李箱吗"><b></b>
												<p class="overflowclass">高铁一人能带两个行李箱吗</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-22 10:44</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/2015828.html" title="Google Cloud Deployment Manager如何配置XML处理服务"><b></b>
												<p class="overflowclass">Google Cloud Deployment Manager如何配置XML处理服务</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-22 10:45</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/2015872.html" title="哔哩轻小说怎么导入本地书 哔哩轻小说导入TXT文件阅读方法【详解】"><b></b>
												<p class="overflowclass">哔哩轻小说怎么导入本地书 哔哩轻小说导入TXT文件阅读方法【详解】</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-22 10:53</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/2015881.html" title="电脑开机提示No bootable device -- insert boot disk and press any key"><b></b>
												<p class="overflowclass">电脑开机提示No bootable device -- insert boot disk and press any key</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-22 10:56</p>
											</div>
										</div>
								</div>
																	<div class="authlist flexColumn">
										<div class="autharts flexRow">
											<a class="autharta flexRow " href="/faq/2015896.html" title="电脑显示“正在准备Windows”卡住怎么办 Windows关机卡住解决方法"><b></b>
												<p class="overflowclass">电脑显示“正在准备Windows”卡住怎么办 Windows关机卡住解决方法</p>
											</a>
											<div class="authtime flexRow"><b></b>
												<p>2026-01-22 10:58</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  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/htmlbq" class="aClass flexRow hotzta" title="html版权符号"><img
										src="https://img.php.cn/upload/subject/202306/14/2023061417195694847.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="html版权符号" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/htmlbq" class="aClass flexRow hotztra overflowclass" title="html版权符号">html版权符号</a>
									<p class="aClass flexRow hotztrp overflowclass">html版权符号是“©”,可以在html源文件中直接输入或者从word中复制粘贴过来,php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">616</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.06.14</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/htmlzxbjq" class="aClass flexRow hotzta" title="html在线编辑器"><img
										src="https://img.php.cn/upload/subject/202306/21/2023062118054418106.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="html在线编辑器" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/htmlzxbjq" class="aClass flexRow hotztra overflowclass" title="html在线编辑器">html在线编辑器</a>
									<p class="aClass flexRow hotztrp overflowclass">html在线编辑器是用于在线编辑的工具,编辑的内容是基于HTML的文档。它经常被应用于留言板留言、论坛发贴、Blog编写日志或等需要用户输入普通HTML的地方,是Web应用的常用模块之一。php中文网为大家带来了html在线编辑器的相关教程、以及相关文章等内容,供大家免费下载使用。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">656</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.06.21</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/htmlwyzz" class="aClass flexRow hotzta" title="html网页制作"><img
										src="https://img.php.cn/upload/subject/202307/31/2023073113382132316.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="html网页制作" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/htmlwyzz" class="aClass flexRow hotztra overflowclass" title="html网页制作">html网页制作</a>
									<p class="aClass flexRow hotztrp overflowclass">html网页制作是指使用超文本标记语言来设计和创建网页的过程,html是一种标记语言,它使用标记来描述文档结构和语义,并定义了网页中的各种元素和内容的呈现方式。本专题为大家提供html网页制作的相关的文章、下载、课程内容,供大家免费下载体验。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">470</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.07.31</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/htmlkg" class="aClass flexRow hotzta" title="html空格"><img
										src="https://img.php.cn/upload/subject/202308/01/2023080110215221612.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="html空格" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/htmlkg" class="aClass flexRow hotztra overflowclass" title="html空格">html空格</a>
									<p class="aClass flexRow hotztrp overflowclass">html空格是一种用于在网页中添加间隔和对齐文本的特殊字符,被用于在网页中插入额外的空间,以改变元素之间的排列和对齐方式。本专题为大家提供html空格的相关的文章、下载、课程内容,供大家免费下载体验。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">245</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.08.01</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/htmlssm" class="aClass flexRow hotzta" title="html是什么"><img
										src="https://img.php.cn/upload/subject/202308/11/2023081110034851167.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="html是什么" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/htmlssm" class="aClass flexRow hotztra overflowclass" title="html是什么">html是什么</a>
									<p class="aClass flexRow hotztrp overflowclass">HTML是一种标准标记语言,用于创建和呈现网页的结构和内容,是互联网发展的基石,为网页开发提供了丰富的功能和灵活性。本专题为大家提供html相关的各种文章、以及下载和课程。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">2898</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.08.11</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/htmlztdxzmsz" class="aClass flexRow hotzta" title="html字体大小怎么设置"><img
										src="https://img.php.cn/upload/subject/202308/11/2023081110511917388.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="html字体大小怎么设置" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/htmlztdxzmsz" class="aClass flexRow hotztra overflowclass" title="html字体大小怎么设置">html字体大小怎么设置</a>
									<p class="aClass flexRow hotztrp overflowclass">在网页设计中,字体大小的选择是至关重要的。合理的字体大小不仅可以提升网页的可读性,还能够影响用户对网页整体布局的感知。php中文网将介绍一些常用的方法和技巧,帮助您在HTML中设置合适的字体大小。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">506</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.08.11</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/htmlztxt" class="aClass flexRow hotzta" title="html转txt"><img
										src="https://img.php.cn/upload/subject/202308/31/2023083109262991103.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="html转txt" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/htmlztxt" class="aClass flexRow hotztra overflowclass" title="html转txt">html转txt</a>
									<p class="aClass flexRow hotztrp overflowclass">html转txt的方法有使用文本编辑器、使用在线转换工具和使用Python编程。本专题为大家提供html转txt相关的文章、下载、课程内容,供大家免费下载体验。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">312</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.08.31</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/htmlwbkdmzmx" class="aClass flexRow hotzta" title="html文本框代码怎么写"><img
										src="https://img.php.cn/upload/subject/202309/01/2023090116144456829.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="html文本框代码怎么写" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/htmlwbkdmzmx" class="aClass flexRow hotztra overflowclass" title="html文本框代码怎么写">html文本框代码怎么写</a>
									<p class="aClass flexRow hotztrp overflowclass">html文本框代码:1、单行文本框【<input type="text" style="height:..;width:..;" />】;2、多行文本框【textarea style=";height:;"></textare】。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">426</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2023.09.01</p>
										</div>
									</div>
								</div>
							</div>
													<div class="hotztlls flexRow">
								<a target="_blank" href="/faq/htmlbjxgjchj" class="aClass flexRow hotzta" title="html编辑相关教程合集"><img
										src="https://img.php.cn/upload/subject/202601/21/2026012121462999524.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="html编辑相关教程合集" class="hotztaimg"
										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
								<div class="hotztright flexColumn">
									<a target="_blank" href="/faq/htmlbjxgjchj" class="aClass flexRow hotztra overflowclass" title="html编辑相关教程合集">html编辑相关教程合集</a>
									<p class="aClass flexRow hotztrp overflowclass">本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。</p>
									<div class="hotztrdown flexRow">
										<div class="htztdsee flexRow"> <b></b>
											<p class="">37</p>
										</div>
										<div class="htztdTime flexRow"> <b></b>
											<p>2026.01.21</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/8574"><span>[图片特效]</span><span>门户网站jQuery相册代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="html5+css3现代感注册表单" href="/xiazai/js/8573"><span>[表单按钮]</span><span>html5+css3现代感注册表单</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery鼠标经过图片翻牌切换代码" href="/xiazai/js/8572"><span>[图片特效]</span><span>jQuery鼠标经过图片翻牌切换代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery电网分分步骤注册表单代码" href="/xiazai/js/8571"><span>[表单按钮]</span><span>jQuery电网分分步骤注册表单代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="Tooltip验证提示HTML5表单" href="/xiazai/js/8570"><span>[表单按钮]</span><span>Tooltip验证提示HTML5表单</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="css3实现结账Form表单 css3实现结账Form表单网页特效" href="/xiazai/js/8569"><span>[表单按钮]</span><span>css3实现结账Form表单 css3实现结账Form表单网页特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="简单js图片加载从模糊到清晰代码" href="/xiazai/js/8568"><span>[图片特效]</span><span>简单js图片加载从模糊到清晰代码</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="表单Checkbox元素美化特效" href="/xiazai/js/8567"><span>[表单按钮]</span><span>表单Checkbox元素美化特效</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="正益无线首页jQuery焦点图" href="/xiazai/js/8566"><span>[图片特效]</span><span>正益无线首页jQuery焦点图</span></a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" title="jQuery仿去哪儿城市选择代码" href="/xiazai/js/8565"><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/4234" title="手绘文艺书本咖啡海报矢量素材"><span>[网站素材]</span><span>手绘文艺书本咖啡海报矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4233" title="情人节香水宣传折页PSD模板设计下载"><span>[网站素材]</span><span>情人节香水宣传折页PSD模板设计下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4232" title="2026新春喜庆红色边框矢量素材"><span>[网站素材]</span><span>2026新春喜庆红色边框矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4231" title="绿色风格旅行竖版海报PSD素材下载"><span>[网站素材]</span><span>绿色风格旅行竖版海报PSD素材下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4230" title="极简非洲草原风景装饰矢量素材"><span>[网站素材]</span><span>极简非洲草原风景装饰矢量素材</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4229" title="网络金融货币宣传海报设计下载"><span>[网站素材]</span><span>网络金融货币宣传海报设计下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4228" title="复古手绘红酒奶酪菜单矢量模板"><span>[网站素材]</span><span>复古手绘红酒奶酪菜单矢量模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4227" title="橙色复古户外探险卡片矢量模板"><span>[网站素材]</span><span>橙色复古户外探险卡片矢量模板</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4226" title="小清新情人节海报传单模板PSD下载"><span>[网站素材]</span><span>小清新情人节海报传单模板PSD下载</span> </a>
									</div>
								</li>
															<li>
									<div class="wzrfourli flexRow">
										<b></b>
										<a target="_blank" href="/xiazai/sucai/4225" 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="Ke361开源淘宝客系统" href="/xiazai/code/11090">Ke361开源淘宝客系统</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="全诚商城生成HTML多用户版" href="/xiazai/code/10417">全诚商城生成HTML多用户版</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="家电小商城网站源码1.0" href="/xiazai/code/9255">家电小商城网站源码1.0</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="织梦绿色农业公司网站模板5.7" href="/xiazai/code/9178">织梦绿色农业公司网站模板5.7</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="蓝色文化传媒公司企业织梦模板1.0" href="/xiazai/code/8935">蓝色文化传媒公司企业织梦模板1.0</a></div>
											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="微信二级防封域名" href="/xiazai/code/8774">微信二级防封域名</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/1531.html" title="成为PHP架构师-自制PHP框架">
									<img src="https://img.php.cn/upload/course/000/000/068/642e648dec95f970.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="成为PHP架构师-自制PHP框架" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1531.html" title="成为PHP架构师-自制PHP框架"
										class="rirightp overflowclass">成为PHP架构师-自制PHP框架</a>

									<div class="risrdown flexRow">
										<p>共28课时 | 2.4万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1505.html" title="apipost极速入门">
									<img src="https://img.php.cn/upload/course/000/000/068/63ba2353a41cb905.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="apipost极速入门" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1505.html" title="apipost极速入门"
										class="rirightp overflowclass">apipost极速入门</a>

									<div class="risrdown flexRow">
										<p>共6课时 | 0.5万人学习</p>
									</div>
								</div>
							</div>
													<div  class="ristyA flexRow " >
								<a target="_blank" href="/course/1146.html" title="让布局像5G一样快:CSS Grid网格布局">
									<img src="https://img.php.cn/upload/course/000/000/068/625fac083b8b7878.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="让布局像5G一样快:CSS Grid网格布局" class="ristyAimg"
										onerror="this.src='/static/mobimages/moren/morentu.png'">
								</a>
								<div class="ristyaRight flexColumn">
									<a target="_blank" href="/course/1146.html" title="让布局像5G一样快:CSS Grid网格布局"
										class="rirightp overflowclass">让布局像5G一样快:CSS Grid网格布局</a>

									<div class="risrdown flexRow">
										<p>共18课时 | 3.4万人学习</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课时 | 9.5万人学习</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.4万人学习</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课时 | 11.7万人学习</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课时 | 9.5万人学习</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="XML上传时的超时问题如何解决 如何调整服务器和客户端超时设置" href="/faq/2015662.html">XML上传时的超时问题如何解决 如何调整服务器和客户端超时设置</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="C# LINQ to XML怎么选择指定命名空间下的所有元素" href="/faq/2015635.html">C# LINQ to XML怎么选择指定命名空间下的所有元素</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="React Native如何上传XML文件 fetch和FormData的使用" href="/faq/2015585.html">React Native如何上传XML文件 fetch和FormData的使用</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="XML文件上传的版本控制策略 如何处理不同格式的XML" href="/faq/2015527.html">XML文件上传的版本控制策略 如何处理不同格式的XML</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="JS怎么遍历XML节点 JavaScript XML DOM遍历方法" href="/faq/2015506.html">JS怎么遍历XML节点 JavaScript XML DOM遍历方法</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Ansible的xml模块怎么用 自动化修改XML" href="/faq/2015500.html">Ansible的xml模块怎么用 自动化修改XML</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="C++如何实现高性能的XML解析与映射?" href="/faq/2015482.html">C++如何实现高性能的XML解析与映射?</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="XPath如何选取属性 XPath选取节点属性值方法" href="/faq/2015479.html">XPath如何选取属性 XPath选取节点属性值方法</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="CI/CD流程中如何自动上传XML配置文件到服务器" href="/faq/2015446.html">CI/CD流程中如何自动上传XML配置文件到服务器</a></div>
													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="VBScript怎么操作XML文件 MSXML2.DOMDocument" href="/faq/2015414.html">VBScript怎么操作XML文件 MSXML2.DOMDocument</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=1503092&time=1769051313">
</script>
<script src="/static/ueditor/third-party/SyntaxHighlighter/shCore.js?1769051313"></script>
<script>
	article_status = "1522180";
</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>