You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何仅修改不含"box"的HTML链接后缀(将.htm改为.php)

解决方法:添加条件判断过滤含"box"的链接

很简单,你只需要在原来的循环里加一个字符串包含检查,就能精准只修改不含"box"的链接啦!

核心思路是:遍历每个<td>里的<a>标签时,先判断链接的href属性里是否包含"box"字符串——如果不包含,再执行后缀替换;如果包含,就跳过不处理。

修改后的完整代码如下:

$html = file_get_html('URL'); 

// 只修改不含"box"的.htm链接为.php
foreach ($html->find("td a") as $a) {
    // 检查href中是否不包含"box"(严格判断避免误判)
    if (strpos($a->href, 'box') === false) {
        $a->href = substr_replace($a->href, 'php', -3);
    }
}

关键细节说明:

  • 用strpos($a->href, 'box') === false来判断:strpos会返回字符串第一次出现的位置,如果没找到则返回false。这里必须用严格相等===,因为如果链接刚好以"box"开头(比如boxpage.htm),strpos会返回0,而0 == false会导致误判,用===就能避免这个问题。
  • 原有的substr_replace($a->href, 'php', -3)逻辑保留不变,只对符合条件的链接生效。

这样一来,像thisismyboxlink123.htm这类含"box"的链接会被跳过,而不含"box"的.htm链接就会被正确替换成.php啦!

内容的提问来源于stack exchange,提问作者Chris

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 03:36:25