0

0

XSLT转换的实际应用场景?

幻夢星雲

幻夢星雲

发布时间:2025-09-09 09:06:02

|

696人浏览过

|

来源于php中文网

原创

XSLT在异构系统数据交换中扮演“同声传译员”和“格式规范化器”角色,能实现不同XML Schema间的映射转换、数据清洗、业务逻辑嵌入及文档聚合拆分,确保系统间数据高效、准确交互。

xslt转换的实际应用场景?

XSLT转换,在我看来,它远不止是XML到XML的简单映射工具,它更像是一种“数据炼金术”,能把看起来死板的XML数据,按我们想要的方式,甚至超出我们预期的灵活度,转化成各种有用的形态。核心上,它就是用来定义如何将一个XML文档转换成另一个XML文档、HTML文档,甚至是纯文本或其他任何基于文本的格式。这在处理异构数据、自动化文档生成以及内容多渠道发布等场景中,简直是不可或缺的利器。

XSLT的实际应用场景,在我日常接触的项目里,真的非常广泛。

首先,最经典也最直接的,是将XML数据转换成HTML用于Web页面展示。想想那些后端吐出XML数据,前端需要动态渲染的场景,XSLT可以在服务器端或者客户端(虽然现在客户端直接操作DOM更多)完成这种转换。比如,一个电商网站的商品目录,数据以XML格式存储,通过XSLT可以快速生成符合网站风格的HTML页面。这比手动解析XML再拼HTML字符串,效率和可维护性高出不止一个档次。

其次,数据集成与不同系统间的数据转换。这是我个人觉得XSLT最强大的地方之一。在企业级应用中,不同部门、不同系统之间的数据格式往往不统一,但又需要频繁交换。假设一个系统输出特定结构的XML订单数据,另一个系统需要接收并处理,但其内部订单结构完全不同。XSLT可以充当中间的“翻译官”,将源系统的XML结构转换成目标系统能够理解的XML结构。这种转换不仅是字段的简单映射,还可以进行复杂的逻辑判断、数据聚合、排序甚至计算。比如,将旧版XML Schema的数据迁移到新版Schema时,XSLT能极大地简化工作量。

再者,自动化文档和报告生成。很多时候,我们需要从结构化的数据中生成各种格式的文档,比如PDF报告、RTF文档或者Word文档。虽然XSLT本身不直接生成PDF,但它可以将XML数据转换为XSL-FO(Formatting Objects)格式,然后结合像Apache FOP这样的工具,就能高质量地生成PDF文档。这种方式在金融报表、合同生成、技术手册发布等领域非常实用,实现了“一次数据输入,多种文档输出”的目标。

还有,内容多渠道发布。现在内容发布不再局限于单一平台。一份内容,可能需要发布到网站、手机App、电子书、甚至打印版本。如果内容以一种中立的XML格式(如DocBook或DITA)存储,那么通过编写不同的XSLT样式表,就可以从这个单一源头生成适应不同渠道的输出格式,比如HTML、EPUB、Markdown或纯文本。这极大地提高了内容复用率和发布效率,避免了重复劳动和内容不一致的问题。

最后,我不得不提的是,API数据转换与适配。虽然JSON现在是主流,但很多老旧系统或者特定行业标准仍然使用XML进行API通信。当我们需要调用一个返回XML的API,但我们的应用更习惯处理另一种XML结构,或者需要提取其中特定信息时,XSLT可以非常优雅地完成这个适配层的工作。它能将复杂的、可能带有命名空间问题的XML响应,转换成我们内部应用更容易消费的、扁平化的XML结构,或者直接提取出关键数据。

XSLT在异构系统数据交换中的角色是什么?

在异构系统数据交换这个场景下,XSLT扮演的角色,用一句话概括就是:不同数据语言间的“同声传译员”和“格式规范化器”。想象一下,两家公司要交换订单数据,A公司用的是自家定义的XML结构,字段名、层级关系都和B公司完全不同。这时候,XSLT就能派上大用场了。它不是简单地把XML文件从一个地方搬到另一个地方,而是能深入到XML的节点和属性层面,进行智能的重组、筛选、甚至计算。

具体来说,XSLT能够:

  1. 实现Schema的映射与转换:这是核心功能。当源系统和目标系统的XML Schema不一致时,XSLT提供了一种声明式的方式来定义如何将源Schema的元素和属性映射到目标Schema。例如,源系统可能有一个
    元素,而目标系统需要
    。XSLT可以轻松地将前者转换成后者。
  2. 数据清洗与规范化:在数据交换过程中,往往会遇到数据质量问题,比如格式不统一、缺失值或者冗余信息。XSLT可以在转换过程中对数据进行初步的清洗和规范化。比如,将所有日期格式统一为ISO 8601标准,或者移除某些不必要的空节点。
  3. 复杂业务逻辑的嵌入:XSLT不仅仅是简单的字段拷贝。它支持条件判断(
    xsl:if
    )、循环(
    xsl:for-each
    )、变量定义(
    xsl:var
    )以及函数调用。这意味着我们可以在转换过程中嵌入一些业务逻辑,比如根据某个字段的值来决定输出不同的结构,或者对数值进行加减乘除的计算。
  4. XML文档的聚合与拆分:有时候,一个系统可能输出多个小的XML文档,而另一个系统需要一个聚合的大文档;反之亦然。XSLT能够将多个XML输入源合并成一个输出,或者将一个复杂的XML文档拆分成多个独立的、结构简化的XML片段。

举个例子,假设我们有一个源XML,描述了产品信息:

万兴喵影
万兴喵影

国产剪辑神器

下载

  
    Laptop Pro
    
1200.00 150

而目标系统可能需要这样的结构:


  
    Laptop Pro
    
      1200.00
      USD
    
    150
  

用XSLT来做这个转换,会清晰明了,且易于维护,比写一堆命令式代码要简洁得多。它的声明性使得转换规则一目了然,方便团队协作和后续的调试。

如何利用XSLT实现内容的多渠道发布?

利用XSLT实现内容的多渠道发布,其核心思想是“单一源头,多重输出”(Single Source, Multiple Outputs)。这意味着我们维护一份内容的主版本,这份内容以一种中立、结构化的XML格式存储,然后通过不同的XSLT样式表,将其转换成适用于不同发布渠道的最终格式。这就像一个中央厨房,食材(内容XML)是统一的,但通过不同的烹饪方法(XSLT样式表),可以制作出中餐、西餐、日料(HTML、PDF、EPUB等)。

具体步骤和优势体现在:

  1. 内容中立化与结构化:首先,内容需要以一种与最终呈现无关的XML格式进行存储。常见的标准有DocBook、DITA(Darwin Information Typing Architecture)或者自定义的XML Schema。这种格式只关注内容的结构和语义,而不关心其外观。例如,一个段落就是
    ,一个标题就是
    </pre>,一个图片就是<pre class="brush:php;toolbar:false;"><image></pre>。</li>
    <li>
    <strong>针对不同渠道的XSLT样式表</strong>:为每个目标发布渠道(例如,网站、打印手册、电子书、移动应用)编写一个或一套专门的XSLT样式表。<ul>
    <li>
    <strong>Web发布(HTML)</strong>:XSLT可以将XML转换为带有CSS样式的HTML文件,以适应网页浏览器的显示。它会处理<pre class="brush:php;toolbar:false;"><title></pre>到<pre class="brush:php;toolbar:false;"><h1></pre>的转换,<pre class="brush:php;toolbar:false;"><para></pre>到<pre class="brush:php;toolbar:false;"><p></pre>的转换,并嵌入适当的链接和导航结构。</li>
    <li>
    <strong>打印输出(PDF/RTF)</strong>:XSLT可以将XML转换为XSL-FO(Formatting Objects)格式。XSL-FO是一种XML方言,专门用于描述文档的布局和排版。然后,利用XSL-FO<a style="color:#f60; text-decoration:underline;" title="处理器" href="https://www.php.cn/zt/16030.html" target="_blank">处理器</a>(如Apache FOP),可以将XSL-FO文件渲染成高质量的PDF或PostScript文件,用于打印。</li>
    <li>
    <strong>电子书(EPUB)</strong>:XSLT可以将XML转换为EPUB所需的XHTML、OPF(Open Packaging Format)和NCX(Navigation Control for XML)文件,打包成一个EPUB文件。</li>
    <li>
    <strong>其他格式</strong>:根据需要,XSLT也可以将XML转换为纯文本、Markdown、甚至其他XML方言。</li>
    </ul>
    </li>
    <li>
    <strong>自动化发布流程</strong>:一旦XSLT样式表编写完成,整个转换过程就可以被自动化。通过脚本或构建工具(如Ant、Maven),可以一键生成所有目标格式的输出,大大减少了手动复制粘贴和格式调整的工作量。</li>
    </ol>
    <p>这种方式的优势显而易见:</p>
    <ul>
    <li>
    <strong>提高效率</strong>:避免了为每个渠道单独编辑和格式化内容的重复劳动。</li>
    <li>
    <strong>保证内容一致性</strong>:所有渠道的内容都来源于同一个源文件,确保了信息的一致性和准确性。</li>
    <li>
    <strong>降低维护成本</strong>:内容更新只需修改源XML文件,然后重新运行转换即可。如果需要增加新的发布渠道,只需编写一个新的XSLT样式表,而无需修改原始内容。</li>
    <li>
    <strong>灵活性</strong>:可以根据不同渠道的特点,对内容进行个性化处理。比如,为移动端生成更简洁的HTML,为打印版生成带有页眉页脚和目录的PDF。</li>
    </ul>
    <p>在我过去做文档管理系统时,这种“内容XML + XSLT”的组合,是解决多语言、多版本、多渠道发布复杂问题的核心策略,确实省去了大量人力成本和潜在的错误。</p>
    <h3>XSLT在旧系统改造或数据迁移中有哪些优势?</h3>
    <p>在旧系统改造或数据迁移项目中,XSLT的优势,坦白讲,是<strong>其声明性、强大的模式匹配能力和相对较低的学习曲线</strong>。当面对遗留系统那些“盘根错节”的数据结构时,XSLT往往能提供一种清晰、可控且高效的解决方案,避免我们陷入命令式编程的泥潭。</p>
    <p>具体的优势包括:</p>
    <ol>
    <li>
    <strong>声明式转换逻辑,易于理解和维护</strong>:与命令式编程(如Java、Python)不同,XSLT的转换逻辑是声明式的。你定义的是“我想要什么样子的输出”,而不是“我该怎么一步步去实现这个输出”。这使得转换规则非常直观,通常可以直接从源XML的结构和目标XML的结构来理解XSLT样式表。在旧系统改造这种复杂的场景下,清晰的转换逻辑对于团队协作和后续的维护至关重要,尤其是在处理那些年代久远、文档缺失的遗留数据时。</li>
    <li>
    <strong>强大的模式匹配和路径导航能力</strong>:XSLT基于XPath,能够非常灵活和精确地定位XML文档中的任何节点。这意味着即使旧系统的XML结构非常混乱,层级深、命名不规范,XSLT也能通过复杂的XPath表达式准确地提取所需数据,并进行重组。这种模式匹配能力在处理非标准或不规则的XML数据时尤为突出。</li>
    <li>
    <strong>非侵入性数据处理</strong>:XSLT在转换过程中不会修改原始的XML数据。它只是读取源XML,然后生成一个新的目标XML。这种非侵入性对于数据迁移项目来说非常重要,因为它保证了原始数据的完整性和可追溯性,降低了数据损坏的风险。如果转换出现问题,原始数据仍然完好无损,可以重新开始。</li>
    <li>
    <strong>处理XML命名空间问题的利器</strong>:遗留系统往往有各种各样的XML命名空间问题,这在命令式编程中处理起来可能非常繁琐和容易出错。XSLT对命名空间有原生的支持,可以轻松地在转换过程中处理、添加、删除或修改命名空间,确保生成的目标XML符合新的Schema要求。</li>
    <li>
    <strong>模块化和可重用性</strong>:复杂的转换可以分解成多个XSLT文件,通过<pre class="brush:php;toolbar:false;">xsl:import</pre>和<pre class="brush:php;toolbar:false;">xsl:include</pre>指令进行组合。这使得样式表更易于管理、测试和重用。在大型数据迁移项目中,不同的数据实体可能需要相似的转换逻辑,通过模块化可以大大提高开发效率。</li>
    <li>
    <strong>性能表现</strong>:对于大规模的XML数据转换,许多XSLT处理器(如Saxon)都经过高度优化,能够提供非常高效的转换性能。这对于需要处理大量历史数据的迁移项目来说,是一个重要的考量因素。</li>
    </ol>
    <p>我曾遇到一个项目,需要将一个十多年前的金融系统导出的XML数据,转换成符合新系统接口规范的XML。那个旧XML的结构简直是一场噩梦,各种嵌套、命名冲突,还有一些数据需要根据业务规则进行聚合和计算。如果用Java去解析和重构,代码量会非常庞大,而且调试起来头疼。最终我们选择了XSLT,用几百行样式表就解决了问题,效率和可读性都远超预期。这让我深刻体会到,XSLT在处理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/2050425.html" title="XML上传中文乱码怎么办 如何解决文件上传的编码问题"><b></b>
    										<p class="overflowclass">XML上传中文乱码怎么办 如何解决文件上传的编码问题</p>
    									</a>
    																	<a class="artmrlis flexRow" href="/faq/2050146.html" title="数据库查询结果如何直接映射为XML?"><b></b>
    										<p class="overflowclass">数据库查询结果如何直接映射为XML?</p>
    									</a>
    																	<a class="artmrlis flexRow" href="/faq/2050073.html" title="无头浏览器(Puppeteer)如何自动化包含XML上传的测试"><b></b>
    										<p class="overflowclass">无头浏览器(Puppeteer)如何自动化包含XML上传的测试</p>
    									</a>
    																	<a class="artmrlis flexRow" href="/faq/2049875.html" title="C#如何获取XML文档的所有叶子节点"><b></b>
    										<p class="overflowclass">C#如何获取XML文档的所有叶子节点</p>
    									</a>
    																	<a class="artmrlis flexRow" href="/faq/2046613.html" title="Lua怎么解析XML"><b></b>
    										<p class="overflowclass">Lua怎么解析XML</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/15716.html" target="_blank">css</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15726.html" target="_blank">word</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15730.html" target="_blank">python</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15731.html" target="_blank">java</a> <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/15802.html" target="_blank">js</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15813.html" target="_blank">前端</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15848.html" target="_blank">json</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/zt/15972.html" target="_blank">apache</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="/search?q=json" target="_blank">json</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=xhtml" target="_blank">xhtml</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=maven" target="_blank">maven</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=if" target="_blank">if</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=for" target="_blank">for</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=format" target="_blank">format</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=include" target="_blank">include</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=循环" target="_blank">循环</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=接口" target="_blank">接口</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=var" target="_blank">var</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=dom" target="_blank">dom</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=apache" target="_blank">apache</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=自动化" target="_blank">自动化</a> <a class="mtbsa flexRow" onclick="hits_log(2,'www',this);" href-data="/search?q=word" target="_blank">word</a>								</div>
    							</div>
    						
    						<p class="statement">本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn</p>
    						<div class="lastanext flexRow">
    													<a class="lastart flexRow" href="/faq/1506007.html" title="XSL-FO是什么用途?"><span>上一篇:</span>XSL-FO是什么用途?</a>
    													<a class="nextart flexRow" href="/faq/1506403.html" title="XML与RSS有何本质区别?"><span>下一篇:</span>XML与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/2052343.html" title="Midjourney的cref指令是什么?如何保持AI绘画角色一致性"><b></b>
    												<p class="overflowclass">Midjourney的cref指令是什么?如何保持AI绘画角色一致性</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-31 16:37</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2052376.html" title="Clawdbot登录失败无法连接12306怎么办 Clawdbot修复登录异常教程【指南】"><b></b>
    												<p class="overflowclass">Clawdbot登录失败无法连接12306怎么办 Clawdbot修复登录异常教程【指南】</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-31 16:44</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2052380.html" title="PPT怎么去掉图片背景 PPT自带消除背景功能方法【教程】"><b></b>
    												<p class="overflowclass">PPT怎么去掉图片背景 PPT自带消除背景功能方法【教程】</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-31 16:44</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2052409.html" title="pubg官网入口免费下载 pubg官网入口高速下载"><b></b>
    												<p class="overflowclass">pubg官网入口免费下载 pubg官网入口高速下载</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-31 16:50</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2052442.html" title="Excel怎么查找重复数据 Excel重复项标记变色方法【教程】"><b></b>
    												<p class="overflowclass">Excel怎么查找重复数据 Excel重复项标记变色方法【教程】</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-31 16:57</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2052495.html" title="AI写演讲稿,帮你克服公开演讲的恐惧"><b></b>
    												<p class="overflowclass">AI写演讲稿,帮你克服公开演讲的恐惧</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-31 17:07</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2052594.html" title="漫蛙manwa2官方直连入口_漫蛙漫画正版网页在线入口"><b></b>
    												<p class="overflowclass">漫蛙manwa2官方直连入口_漫蛙漫画正版网页在线入口</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-31 17:26</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2052626.html" title="Archive of Our Own官网通道 2026年中国区稳定访问教程"><b></b>
    												<p class="overflowclass">Archive of Our Own官网通道 2026年中国区稳定访问教程</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-31 17:31</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2052633.html" title="AO3最新可用镜像整理 官方授权备用网站全收录"><b></b>
    												<p class="overflowclass">AO3最新可用镜像整理 官方授权备用网站全收录</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-31 17:31</p>
    											</div>
    										</div>
    								</div>
    																	<div class="authlist flexColumn">
    										<div class="autharts flexRow">
    											<a class="autharta flexRow " href="/faq/2052721.html" title="妖精漫画隐藏入口_妖精漫画完整版在线入口"><b></b>
    												<p class="overflowclass">妖精漫画隐藏入口_妖精漫画完整版在线入口</p>
    											</a>
    											<div class="authtime flexRow"><b></b>
    												<p>2026-01-31 17:46</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="" target="_blank" ></a><a class="aidcontbp flexRow flexcenter"  href="/ai/tag/image/image-titching" 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/jsonsjgs" class="aClass flexRow hotzta" title="json数据格式"><img
    										src="https://img.php.cn/upload/subject/202308/07/2023080710392735942.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="json数据格式" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/jsonsjgs" class="aClass flexRow hotztra overflowclass" title="json数据格式">json数据格式</a>
    									<p class="aClass flexRow hotztrp overflowclass">JSON是一种轻量级的数据交换格式。本专题为大家带来json数据格式相关文章,帮助大家解决问题。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">420</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2023.08.07</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/jsonssm" class="aClass flexRow hotzta" title="json是什么"><img
    										src="https://img.php.cn/upload/subject/202308/23/2023082309350584437.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="json是什么" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/jsonssm" class="aClass flexRow hotztra overflowclass" title="json是什么">json是什么</a>
    									<p class="aClass flexRow hotztrp overflowclass">JSON是一种轻量级的数据交换格式,具有简洁、易读、跨平台和语言的特点,JSON数据是通过键值对的方式进行组织,其中键是字符串,值可以是字符串、数值、布尔值、数组、对象或者null,在Web开发、数据交换和配置文件等方面得到广泛应用。本专题为大家提供json相关的文章、下载、课程内容,供大家免费下载体验。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">536</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2023.08.23</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/jqueryczjson" class="aClass flexRow hotzta" title="jquery怎么操作json"><img
    										src="https://img.php.cn/upload/subject/202310/13/2023101309503576727.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="jquery怎么操作json" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/jqueryczjson" class="aClass flexRow hotztra overflowclass" title="jquery怎么操作json">jquery怎么操作json</a>
    									<p class="aClass flexRow hotztrp overflowclass">操作的方法有:1、“$.parseJSON(jsonString)”2、“$.getJSON(url, data, success)”;3、“$.each(obj, callback)”;4、“$.ajax()”。更多jquery怎么操作json的详细内容,可以访问本专题下面的文章。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">313</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2023.10.13</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/goyycljsonsjf" class="aClass flexRow hotzta" title="go语言处理json数据方法"><img
    										src="https://img.php.cn/upload/subject/202509/10/2025091014581868061.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="go语言处理json数据方法" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/goyycljsonsjf" class="aClass flexRow hotztra overflowclass" title="go语言处理json数据方法">go语言处理json数据方法</a>
    									<p class="aClass flexRow hotztrp overflowclass">本专题整合了go语言中处理json数据方法,阅读专题下面的文章了解更多详细内容。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">77</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2025.09.10</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/JavaMavenzt" class="aClass flexRow hotzta" title="Java Maven专题"><img
    										src="https://img.php.cn/upload/subject/202509/15/2025091510134591354.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Java Maven专题" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/JavaMavenzt" class="aClass flexRow hotztra overflowclass" title="Java Maven专题">Java Maven专题</a>
    									<p class="aClass flexRow hotztrp overflowclass">本专题聚焦 Java 主流构建工具 Maven 的学习与应用,系统讲解项目结构、依赖管理、插件使用、生命周期与多模块项目配置。通过企业管理系统、Web 应用与微服务项目实战,帮助学员全面掌握 Maven 在 Java 项目构建与团队协作中的核心技能。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">0</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2025.09.15</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/ifsmys" class="aClass flexRow hotzta" title="if什么意思"><img
    										src="https://img.php.cn/upload/subject/202308/22/2023082210342249212.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="if什么意思" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/ifsmys" class="aClass flexRow hotztra overflowclass" title="if什么意思">if什么意思</a>
    									<p class="aClass flexRow hotztrp overflowclass">if的意思是“如果”的条件。它是一个用于引导条件语句的关键词,用于根据特定条件的真假情况来执行不同的代码块。本专题提供if什么意思的相关文章,供大家免费阅读。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">783</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2023.08.22</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/formatzpython" class="aClass flexRow hotzta" title="format在python中的用法"><img
    										src="https://img.php.cn/upload/subject/202307/31/2023073114074433322.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="format在python中的用法" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/formatzpython" class="aClass flexRow hotztra overflowclass" title="format在python中的用法">format在python中的用法</a>
    									<p class="aClass flexRow hotztrp overflowclass">Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">824</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/pythonzdforma" class="aClass flexRow hotzta" title="python中的format是什么意思"><img
    										src="https://img.php.cn/upload/subject/202406/27/2024062716241624492.jpg?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="python中的format是什么意思" class="hotztaimg"
    										onerror="this.src='/static/lhimages/moren/morentu.png'"></a>
    								<div class="hotztright flexColumn">
    									<a target="_blank" href="/faq/pythonzdforma" class="aClass flexRow hotztra overflowclass" title="python中的format是什么意思">python中的format是什么意思</a>
    									<p class="aClass flexRow hotztrp overflowclass">python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">436</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2024.06.27</p>
    										</div>
    									</div>
    								</div>
    							</div>
    													<div class="hotztlls flexRow">
    								<a target="_blank" href="/faq/zqptrkdq2026" class="aClass flexRow hotzta" title="2026赚钱平台入口大全"><img
    										src="https://img.php.cn/upload/subject/000/000/086/697d71d97d305109.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/zqptrkdq2026" class="aClass flexRow hotztra overflowclass" title="2026赚钱平台入口大全">2026赚钱平台入口大全</a>
    									<p class="aClass flexRow hotztrp overflowclass">2026年最新赚钱平台入口汇总,涵盖任务众包、内容创作、电商运营、技能变现等多类正规渠道,助你轻松开启副业增收之路。阅读专题下面的文章了解更多详细内容。</p>
    									<div class="hotztrdown flexRow">
    										<div class="htztdsee flexRow"> <b></b>
    											<p class="">54</p>
    										</div>
    										<div class="htztdTime flexRow"> <b></b>
    											<p>2026.01.31</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/8752"><span>[图片特效]</span><span>jquery叠加切换幻灯片</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="jQuery表单输入文字计数显示代码" href="/xiazai/js/8751"><span>[表单按钮]</span><span>jQuery表单输入文字计数显示代码</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="jQuery鼠标滑过图文切换" href="/xiazai/js/8750"><span>[图片特效]</span><span>jQuery鼠标滑过图文切换</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="jQuery仿京东注册表单验证代码" href="/xiazai/js/8749"><span>[表单按钮]</span><span>jQuery仿京东注册表单验证代码</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="layUI图片拖拽上传裁剪代码" href="/xiazai/js/8748"><span>[图片特效]</span><span>layUI图片拖拽上传裁剪代码</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="jQuery reveal弹出表单" href="/xiazai/js/8747"><span>[表单按钮]</span><span>jQuery reveal弹出表单</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="js仿优酷banner大图切换代码" href="/xiazai/js/8746"><span>[图片特效]</span><span>js仿优酷banner大图切换代码</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="js带遮罩弹出层登录注册表单" href="/xiazai/js/8745"><span>[表单按钮]</span><span>js带遮罩弹出层登录注册表单</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="CSS3实现会眨眼的蚱蜢动画" href="/xiazai/js/8744"><span>[图片特效]</span><span>CSS3实现会眨眼的蚱蜢动画</span></a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" title="html5文件上传组件美化特效" href="/xiazai/js/8743"><span>[表单按钮]</span><span>html5文件上传组件美化特效</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/4314" title="梦幻小清新森林麋鹿图矢量素材"><span>[网站素材]</span><span>梦幻小清新森林麋鹿图矢量素材</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4313" title="摩托车赛事宣传海报设计模板下载"><span>[网站素材]</span><span>摩托车赛事宣传海报设计模板下载</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4312" title="新春喜庆舞狮儿童插画矢量素材"><span>[网站素材]</span><span>新春喜庆舞狮儿童插画矢量素材</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4311" title="情人节主题横幅海报ps素材下载"><span>[网站素材]</span><span>情人节主题横幅海报ps素材下载</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4310" title="可爱手绘涂鸦情人节矢量素材"><span>[网站素材]</span><span>可爱手绘涂鸦情人节矢量素材</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4309" title="猎头招聘海报横幅设计素材下载"><span>[网站素材]</span><span>猎头招聘海报横幅设计素材下载</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4308" title="2026红色几何马年矢量素材"><span>[网站素材]</span><span>2026红色几何马年矢量素材</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4307" title="手绘烘焙面包食材合集矢量素材"><span>[网站素材]</span><span>手绘烘焙面包食材合集矢量素材</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4306" title="复古红日山峰风景矢量素材"><span>[网站素材]</span><span>复古红日山峰风景矢量素材</span> </a>
    									</div>
    								</li>
    															<li>
    									<div class="wzrfourli flexRow">
    										<b></b>
    										<a target="_blank" href="/xiazai/sucai/4305" 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="实现手机触屏滑动切换图片特效代码" href="/xiazai/js/24">实现手机触屏滑动切换图片特效代码</a></div>
    											<div class="xgwzlid flexRow"><b></b><a target="_blank" title="超流畅漂亮的图片3D旋转滚动JS特效代码" href="/xiazai/js/13">超流畅漂亮的图片3D旋转滚动JS特效代码</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/1695.html" title="Node.js 教程">
    									<img src="https://img.php.cn/upload/course/000/000/090/68b03f827e9e7343.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="Node.js 教程" class="ristyAimg"
    										onerror="this.src='/static/mobimages/moren/morentu.png'">
    								</a>
    								<div class="ristyaRight flexColumn">
    									<a target="_blank" href="/course/1695.html" title="Node.js 教程"
    										class="rirightp overflowclass">Node.js 教程</a>
    
    									<div class="risrdown flexRow">
    										<p>共57课时 | 9.8万人学习</p>
    									</div>
    								</div>
    							</div>
    													<div  class="ristyA flexRow " >
    								<a target="_blank" href="/course/1694.html" title="CSS3 教程">
    									<img src="https://img.php.cn/upload/course/000/000/090/68aee967a4940837.png?x-oss-process=image/resize,m_mfit,h_75,w_120,limit_0" alt="CSS3 教程" class="ristyAimg"
    										onerror="this.src='/static/mobimages/moren/morentu.png'">
    								</a>
    								<div class="ristyaRight flexColumn">
    									<a target="_blank" href="/course/1694.html" title="CSS3 教程"
    										class="rirightp overflowclass">CSS3 教程</a>
    
    									<div class="risrdown flexRow">
    										<p>共18课时 | 5万人学习</p>
    									</div>
    								</div>
    							</div>
    													<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.7万人学习</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.8万人学习</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.4万人学习</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="如何用Puppeteer或Playwright提取动态网页生成的XML" href="/faq/2050712.html">如何用Puppeteer或Playwright提取动态网页生成的XML</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="EDI X12标准与XML之间的映射怎么做?" href="/faq/2050672.html">EDI X12标准与XML之间的映射怎么做?</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="ARM模板/Bicep如何部署一个带XML上传功能的Azure App Service" href="/faq/2050645.html">ARM模板/Bicep如何部署一个带XML上传功能的Azure App Service</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Final Cut Pro的XML文件怎么用 FCPXML详解" href="/faq/2050639.html">Final Cut Pro的XML文件怎么用 FCPXML详解</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Python lxml库的etree和objectify有什么区别" href="/faq/2050638.html">Python lxml库的etree和objectify有什么区别</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Watchdog库是什么 如何用Python监控文件夹变化并上传XML" href="/faq/2050631.html">Watchdog库是什么 如何用Python监控文件夹变化并上传XML</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="如何用AI或机器学习自动推荐XML映射规则" href="/faq/2050602.html">如何用AI或机器学习自动推荐XML映射规则</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="Qt C++如何实现XML文件上传 QNetworkAccessManager" href="/faq/2050575.html">Qt C++如何实现XML文件上传 QNetworkAccessManager</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="SvelteKit如何处理XML文件上传 Form Actions和API路由" href="/faq/2050561.html">SvelteKit如何处理XML文件上传 Form Actions和API路由</a></div>
    													<div class="xgwzlid flexRow"><b></b><a target="_blank" title="ASP.NET Core如何使用XmlSchemaSet验证上传的XML" href="/faq/2050534.html">ASP.NET Core如何使用XmlSchemaSet验证上传的XML</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=1506062&time=1769857803">
    </script>
    <script src="/static/ueditor/third-party/SyntaxHighlighter/shCore.js?1769857803"></script>
    <script>
    	article_status = "1522181";
    </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>