将 href 替换为不同的值

2023-12-13

我有一些 PHP 代码,它可以获取网站的 HTML 代码,然后将其回显到屏幕上。我正在寻找一种扫描 HTML 的方法,然后将所有 href 值替换为另一个值。例如,我有“http://somepage.com" 其中包含 HTML 代码
<a href="http://somepage.com/somepage">Click me</a>,但是“href”部分的值可能随时更改。我想回显相同的 HTML 代码,但替换href价值与http://mywebsite.com/somepage。我怎样才能做到这一点?到目前为止我有这个

$q = htmlentities($_GET['q']);

$html2 = "https://somewebsite.com/search/" . str_replace(' ', '%20', $q);

$html = file_get_contents($html2);

echo $html;

I've seen PHP DomDocument editing all links, however this returns an error for me

警告:DOMDocument::loadHTMLFile():I/O 警告:加载失败 外部实体


您可以使用预替换()替换字符串中搜索到的术语,如下所示:

<?php
// example page contents
$pageContents = '<a href="http://somepage.com/somepage">Click me</a>Some example text.
<div>Example div <a href="http://anotherDomain.com/somepage2">Another link</a>.</div>';

//  ------ the Search pattern explanation -------
// (http:\/\/)? means that the http:// may or may not exist
// ([\w]+) the parentheses () will remember the expression inside
// the \s? means there may or may not be a space character there

//  ------ the Replace pattern explanation -------
// replace the matched expression with the provided replacement
// the $2 is the second parenthesized expression () from the search pattern
$html = preg_replace('/<a href="(http:\/\/)?[\w.]+\/([\w]+)"\s?>/', '<a href="http://mywebsite.com/$2">' ,$pageContents);

echo $html;
?>

其输出:

Click me一些示例文本。

Example div Another link.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 href 替换为不同的值 的相关文章

  • 编辑类名中带有空格的元素的 css 样式

    我正在创建一个 tumblr 我必须编写一个外部 CSS 文件 但我在编辑 post 元素的 css 样式时遇到问题 这是它的结构 li class post quote other code li 问题是类名中有空格 我如何创建一个 CS
  • Cakedc.users => 总是重定向到主页

    我在新的 Cakephp 安装上使用插件 CakeDC Users 我有两个控制器 PagesController php CardsController php Pages 有 1 个操作 Beta 它是主页 Cards 有两个操作 索引
  • PHP DOM - 剥离 span 标签,保留其内容

    我希望采用如下标记 span class test Some text that is strong bolded strong and contains a a href link a span 并在 PHP 中找到剥离跨度的最佳方法 剩
  • 从 php 到 JavaScript 的数组

    我正在尝试使用 json 将数组列表从 php 传输到 javascript 但它不起作用 JS ajax url getProfilePhotos php type post post or get method data if you
  • 如何强制折断不可折断的字符串?

    我有一个根据数据库中包含的数据生成的 HTML 页面 数据库有时包含浏览器无法分解的长字符串 因为这些字符串不包含可分解的字符 空格 点 逗号等 有没有办法使用 html css 甚至 javascript 来解决这个问题 看到这个link
  • 在按钮之间添加空间?

    嗨 我这里有一个代码 除了一件事之外 一切都很完美 代码中每个按钮之间没有空格 我尝试过 margin 但不幸的是它是一个无序列表 所以我有点困惑 我将添加或替换什么以在两个按钮之间留出空间 帮助
  • json_encode 返回 NULL?

    由于某种原因 项目 描述 返回NULL使用以下代码 这是我的数据库的架构 CREATE TABLE staff id int 11 NOT NULL AUTO INCREMENT name longtext COLL
  • 如何在同一 PHP 页面上多次使用 mysqli fetch_assoc() 和准备好的语句?

    有没有办法启用fetch assoc 在同一页上多次使用准备好的语句 data conn gt prepare SELECT FROM some table WHERE id data gt bind param i id data gt
  • 可以使用带有 HTML5 播放器的 Amazon S3/CloudFront 流式传输视频吗?

    我想使用 HTML5 视频播放器并流式传输视频 S3 CloudFront 可以实现这一点吗 我了解 Amazon 使用 RTMP 流媒体协议和 HTML5video标签不支持 RTMP 有没有办法用 HTML5 播放器播放视频 Wayne
  • 使用 yum 和 pear 安装 php-soap 均失败

    我正在尝试在 Centos 6 4 服务器上安装 PHP 的 SOAP 扩展 我对包管理器 从 CLI 安装包并在 PHP 中配置它们相当不熟悉 我相当有能力管理 php ini 和其他 PHP 配置文件 soap ini 等 我尝试使用以
  • PHP Intl 扩展线程安全吗?

    我一直在阅读有关 PHP 中的语言环境的内容 看起来setlocale 线程有问题 我对线程不太熟悉 文档提到它不是线程安全的 我想让我的项目能够处理某些数字格式 并且 Intl 扩展似乎很有趣 http php net manual en
  • 使(文本到图像)图像具有一定的宽度但无限的长度?

    我有下面的代码 可以用大量文本生成图像 我希望该图像的宽度为 700 像素 我还希望它保留字符串所具有的段落结构 该字符串来自 MySQL 数据库 我怎样才能实现这一点 font 2 width imagefontwidth font st
  • PHP switch case 在 case 中存在多个值

    我有一个变量保存值 每周 每月 季度 和 年度 还有另一个变量保存值从 1 到 10 switch var2 case 1 var3 Weekly break case 2 var3 Weekly break case 3 var3 Mon
  • 通过身份验证保护 CodeIgniter 2 应用程序的正确方法是什么?

    I have Ion Auth http benedmunds com ion auth 正确安装并在我的服务器上运行 我也有默认的代码点火器2 新闻 教程在同一个 CI 安装中工作 我只是在玩 并对使用身份验证系统 封闭 或保护整个应用程
  • 不使用控件时,视频元素在 Chrome 中消失

    So I think这是一个浏览器错误 它出现在一个更复杂的设计 网站中 但我已经进行了很好的尝试 简化了我的代码和设计等 并发现了以下内容 嵌入时
  • if/else 简写来定义变量

    我很难理解 if else 的 php 简写是如何描述的here https stackoverflow com questions 20233207 php if shorthand and echo in one line possib
  • 在webview android中加载本地html文件

    我正在尝试在 android 的 webview 中加载 html 文件的内容 但是 它给了我 网页不可用错误 如果我尝试使用谷歌或雅虎等网站 它们就会起作用 html文件位于src gt main gt assests gt index
  • 如何将图像从 Android 应用程序上传到网络服务器的特定文件夹中

    如何将图像从 android 移动到 Web 服务器上的指定文件夹 这是我的安卓代码 package com example bitmaptest import java io ByteArrayOutputStream import ja
  • 如何将变量插入 PHP 数组?

    我在网上查了一些答案 但都不是很准确 我希望能够做到这一点 id result id info array id Example echo info 0 这有可能吗 您需要的是 不推荐 info array id Example varia
  • 使用 VBA 通过 Access 导航网页/操作 IE

    你好 StackOverflow 社区 我有一个关于使用 Access VBA 操作 IE 的问题 本质上 我正在尝试编写代码 使用 IE 打开特定网页 在该页面中搜索特定链接 目标链接的名称将取决于用户的情况 通过以编程方式单击该链接导航

随机推荐

  • Android - SSL/TLS 和 ECC(椭圆曲线加密)

    我正在开发一个与网络服务器通信的 Android 应用程序 我们使用 HTTPS 进行此通信 并且 Android 应用程序内还有一个客户端证书用于身份验证 我们使用 ECC ANSI x9 62 创建 SSL 证书 以便拥有非常小的证书
  • Opencv dll问题

    我正在遵循使用 opencv 进行对象检测的教程 我一步一步完成 但是当我运行它时 我收到此错误 The program can t start because opencv 244d dll is missing from your co
  • AVAudioSession :麦克风耳机作为输入,iPhone扬声器作为输出

    使用iOS10 有更多的可能性来管理AUdioSession 但我无法在音频通过iPhone扬声器发出时保持耳机麦克风作为输入 下面的 overrideOutputAudioPort 方法还将输入音频端口覆盖为 iphone 麦克风 let
  • Wpf面板后台问题

    当我不设置面板背景时 我无法获取鼠标事件 为什么有这种行为 我可以通过将背景设置为透明 默认情况下为空 来获取面板上的鼠标事件 空背景和透明背景有什么区别 When Background null它在渲染时不会向 MILCore 发出任何绘
  • Azure Analysis Services 是否支持服务主体登录 SQL Azure

    我有一个 Azure Analysis Services 模型 使用以下连接字符串从 SQL Azure 读取数据 Data Source MySQLAzureDB database windows net Initial Catalog
  • 不使用ros编译roscpp(使用g++)

    我正在尝试在不使用ROS其余部分的情况下编译roscpp 我只需要订阅一个节点 但该节点拥有使用旧版本ROS的节点 并且由于编译问题 我无法将我的程序与他的程序集成 我从git下载了源代码 https github com ros ros
  • 从 C# 执行多行 PowerShell 脚本

    我是 PowerShell 新手 我正在尝试从 C 执行 PowerShell 脚本 我编写的 PS 脚本将 xml 文件从主机 运行 PS 脚本 传输到远程计算机 脚本如下 Username User Password Pass Secu
  • 如果steps_per_epoch不适合样本数量怎么办?

    使用 Kerasfit generator steps per epoch 应等于可用样本总数除以batch size 但是发电机或fit generator如果我选择一个batch size不适合样本中的 n 次 是否会产生样本直到无法填
  • microsoft.office.tools.excel.dll 安装在哪里?

    我已经安装了带 NET 4 0的VS2010 SP1 但找不到microsoft office tools excel dll所在的位置 问题 gt 在哪里可以找到这个 DLL 通常 一旦安装了该程序集 该程序集就应该位于 GAC 中Off
  • 如何在 CMFCEditBrowseCtrl::EnableFileBrowseButton 中设置默认文件扩展名?

    如何在 CMFCEditBrowseCtrl EnableFileBrowseButton 中给出默认文件扩展名 应该如何传递参数 我尝试像下面的代码 CMFCEditBrowseCtrl py file path py file path
  • Java中将字符串拆分为等长子字符串

    如何分割字符串 Thequickbrownfoxjumps Java 中相同大小的子字符串 例如 Thequickbrownfoxjumps 4 个相同大小的应该给出输出 Theq uick brow nfox jump s 类似问题 Sc
  • PhantomJS open() 太慢

    我在 NodeJS 中进行网页抓取时遇到问题 我想从远程网页获取一些数据 但数据已从 javascript 插入到 html 中 我开始使用 PhantomJS 它运行得很好 除了一件事阻碍了我完成工作 PhantomJS 运行速度太慢 这
  • 关于暂定定义

    我从一本关于暂定定义的书中读到 暂定定义是没有任何外部数据声明 存储类说明符并且没有初始值设定项 暂定定义 如果翻译单元的结尾是 已达到并且没有出现带有初始化程序的定义 标识符 请解释一下上面这句话的意思 另外 声明和定义之间的区别 我因此
  • RCPP_MODULE 用于继承类

    当我尝试使用继承类的模块时遇到问题 基本上 我无法编译这部分 RCPP MODULE PACE using namespace Rcpp class
  • 何时使用 StringBuilder? [复制]

    这个问题在这里已经有答案了 可能的重复 字符串与 StringBuilder 我刚刚重温了一些我用来学习 VB NET 的书籍 我不确定我是否已经理解了这一点 了解 StringBuilder 是如何 什么的 使用指导是什么 如果您要连接
  • matlab编程(如何实时处理)

    我正在尝试用 matlab 制作频谱图 这是我的代码 Record your voice for 100 seconds recObj audiorecorder disp Start speaking recordblocking rec
  • 以编程方式枚举 Microsoft Edge 历史记录

    我使用 FindFirstUrlCacheEntry FindNextUrlCacheEntry Win API 在 C 中以编程方式获取 Internet Explorer 的历史记录 您能告诉我如何使用 C Windows API 获取
  • GCC的通行证和调用的程序是什么?

    它出现在另一个问题 调用了哪些程序和部分gcc 特别是编译时C or C 以便有人可以设计一些拦截和更改流程以用于各种自定义编码目的的方案 编译器二进制文件是 编译器驱动程序 即gcc 以及编译器本身 它也兼作预处理器 cc1 or cc1
  • 如果未选中,则尝试设置默认复选框值

    基本上我可以获取选中该框时适用的值 1 但在未选中时我无法让它发送默认值 0
  • 将 href 替换为不同的值

    我有一些 PHP 代码 它可以获取网站的 HTML 代码 然后将其回显到屏幕上 我正在寻找一种扫描 HTML 的方法 然后将所有 href 值替换为另一个值 例如 我有 http somepage com 其中包含 HTML 代码 a hr