preg_replace 中的 urlencode

2024-01-18

$str = preg_replace("'\(look: (.{1,80})\)'Ui",
             "(look: <a href=\"dict.php?process=word&q=\\1\">\\1</a>)",$str);

我想对 url 进行编码,但我该怎么做呢?

我可以在 preg_replace 中使用 urlencode() 函数吗?类似的东西,

$str = preg_replace("'\(look: (.{1,80})\)'Ui",
            "(look: <a href=\"dict.php?process=word&q=\\1\">\\1</a>)",$str);

你对 preg_replace 中的 url 编码有什么想法吗?


您可以使用preg_replace_callback http://php.net/manual/en/function.preg-replace-callback.php,它允许您通过直接运行代码来生成替换字符串:

$str = preg_replace_callback(
    "'\(look: (.{1,80})\)'Ui",
    create_function(
        '$matches',
        'return \'(look: <a href="dict.php?process=word&q='.urlencode($matches[1]).'">'.
          $matches[1].'</a>)\';'
    ),
    $str);

如果你使用 PHP >= 5.3,你可以让上面的过程变得不那么痛苦:

$str = preg_replace_callback(
    "'\(look: (.{1,80})\)'Ui",
    function($matches) {
        return "(look: <a href=\"dict.php?process=word&q=".urlencode($matches[1])."\">".
               $matches[1]."</a>)";
    },
    $str);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

preg_replace 中的 urlencode 的相关文章

  • Laravel leftJoin 仅右表的最后一条记录

    我是 Laravel 的新手 我有两张桌子 1 产品 2 价格 products id product int p key name varchar prices id price int p key id product int
  • Laravel $request->file() 返回 null

    尝试在后端使用 Laravel 上传文件时遇到问题 Issue Laravel request gt file 方法返回 null Setup 我使用以下方法构建了一个 AJAX 请求超级代理人 https github com visio
  • php 数组中出现意外的 json 输出结构

    我正在尝试转换动态数据 如何从 PHP 获取此 JSON JSON 122240cb 253c 4046 adcd ae81266709a6 item 0 3 这就是我所做的 但它不起作用 PHP json array 122240cb 2
  • 一种无需 JavaScript 即可在 PHP 中确定浏览器宽度的方法?

    首先有吗 或者我必须使用javascript 我希望能够更改使用的 CSS 因此 frex 我可以为移动设备或其他设备加载较小的字体 不幸的是 仅使用 PHP 无法检测用户分辨率 如果您使用 Javascript 则可以在 cookie 中
  • CodeIgniter 自定义库未加载

    我是 CodeIgniter 的新手 并尝试用它开发一个相当简单的应用程序 只是一个用于处理想要娱乐中心通行证的员工的注册的表单 我正在尝试将事物分开以使它们更清晰 这是代码 应用程序 控制器 reccenter php class Rec
  • setcookie with expire=0 浏览器关闭后不会过期

    我使用setcookie来制作一个过期 0的cookie 从 PHP 文档来看 link http php net manual en function setcookie php cookie 过期的时间 这是一个 Unix 时间戳 所以
  • 无法访问 localhost/xampp/index.php

    我刚刚安装了 Windows 7 的 XAMPP 控制面板似乎工作正常 我启动了 MySql 和 Apache 我遇到的问题是 当我在浏览器 Google Chrome 中输入 localhost 时 它会将我发送到 http localh
  • AWS-PHP-SDK / SNS 直接寻址返回错误

    您好 我正在使用 Laravel 4 设置来利用 AWS SNS 向我的 iOS 设备发送推送消息 从 AWS 控制台向我的设备发布命令效果很好 然后我尝试从 PHP sns AWS get sns sns gt publish array
  • 如何使用 PHP 构建正确的 SOAP 请求

    我需要格式化 构建此 SOAP 服务 的请求 http api notificationmessaging com NMSOAP NotificationService wsdl http api notificationmessaging
  • PHP WCF 集成

    是不是如果我想支持php客户端访问我的服务 我必须有一个基本的http端点 这是因为php仍然只支持soap 1 1吗 据我所知 自从我使用 PHP 以来已经两年了 情况仍然如此 如果客户端应用程序将使用 PHP 的内置 SoapClien
  • 在哪里可以获得 PHP 5.3+ 的 runkit DLL 扩展?

    这是一个简单的问题 我在哪里可以获得 PHP 5 3 版本的 runkit 扩展 它的手册 http php net manual en book runkit php http php net manual en book runkit
  • 覆盖 FOS 用户包中的“更改密码”模板

    我做了一些研究 遗憾的是找不到任何帮助 因此 我将 FOSUserBundle ChangePasswordAction 渲染到我的模板中 但它显示供应商提供的默认模板 我的渲染控制器的模板 block body h2 Einstellun
  • Laravel Vue 组件只能传递数字?

    在我的 UserMenu vue 中我写道 export default props nameVal data return 并在blade php中
  • docker 中的 php Curl 冲突 CURLOPT_FILE 和 CURLOPT_RETURNTRANSFER

    当我使用curl时CURLOPT FILE and CURLOPT RETURNTRANSFER选项 文件为空 没有任何curl错误 fp fopen saveTo w ch curl init fileUrl curl setopt ch
  • 从 Laravel 4 输入生成新数组

    我使用 Input all 从动态生成的表单中获取一些输入 我使用 jQuery 来允许用户添加字段 字段名称为 first names last names 和 emails input 变量现在看起来像这样 array size 4 t
  • Jquery一键提交多个同名表单

    我有动态创建的循环表单 我需要一键提交所有表单 我正在遵循下面的代码 你能建议我怎么做吗 谢谢
  • 使用会话 php 创建 cookie?

    我使用会话来登录我网站中的用户 问题是 我想让用户remember密码 因此关闭 打开浏览器后他们不需要再次登录 我需要使用 cookie 和 session 来实现它吗 my code user POST user pass POST p
  • 在本地 SDK 服务器上工作时,实时 Google App Engine 上出现 404

    我已经在GAE标准环境上部署了几个PHP应用程序 一切正常 现在我正在部署一个新应用程序 该应用程序位于由gcloudSDK按预期工作 终端命令 dev appserver py log level warning app yaml 问题是
  • 矩形超出边界是什么意思

    PPB Graphics2D PaintImageData 矩形超出界限是什么意思 我几乎在我检查的每一段代码中都看到了它 最新的代码是 define my consumer key define my consumer secret oa
  • PHP更改小数点分隔符

    在某些情况下 PHP 会在操作后更改小数点分隔符 下面是一个示例 为什么小数点分隔符变成 这是一个多语言网站 在西班牙语版本中 区域设置设置为西班牙语 es ES 小数点分隔符为 这就是为什么正在改变 解决方案是强制 LC NUMERIC

随机推荐

  • 获取node.js中的模块名称

    有谁知道如何获取node js javascript中模块的名称 所以可以说你愿意 var RandomModule require fs console log RandomModule name gt fs 如果您尝试跟踪依赖项 可以尝
  • 打开已关闭的 SqlConnection

    关闭和打开同一个 SqlConnection 对象而不是每次都创建新对象是否存在任何问题 例如 SqlConnection conn new SqlConnection ConnectionString conn Open Some wor
  • 用于从特定文件夹下载文件的Servlet?

    我是JAVA技术的新手 尤其是Servlet 我需要制作一个Web应用程序项目 其中有一个上传和下载文件到 从服务器 tomcat 我已经有一个上传servlet 工作正常 我还有一个下载 servlet 在互联网上找到 但问题是这个 se
  • 如何使用单个提交按钮在一页中提交 2 个表单

    我创建了一个包含两个表单的 php 页面 但我希望这两个表单都只有一个提交按钮 表格有ids firstform secondform 我尝试过其他脚本 但它们实际上不起作用 下面是我的代码
  • RibbonControlsLibrary - 如何禁用最小化?

    如何从 RibbonControlsLibrary 禁用功能区控件的最小化 以下内容禁用了双击选项卡标题和上下文菜单上的 最小化功能区 public class ExRibbon Ribbon public override void On
  • 可投放的 可投放的

    我有这个标记 ul class cat ul class cat ul ul class cat ul ul 我做了这件事 ul cat droppable drop function alert this attr id 它总是写 你好
  • Cruise Control .net:使用包并显示 NUnit 结果

    经过一番困惑后 我终于成功地在我们的构建服务器上部署了 Cruise Control net 的实例 它每隔几分钟轮询一次服务器 并且仅在检测到 svn 存储库中的更改时才进行构建 对于构建和测试 我结合使用了 MSBuild 和 NUni
  • 是否可以在“拉模式”下运行剧本?

    我有一些在主主机上启动并在远程主机上运行特定操作的剧本 这是一种 推送 模式 活动由主控主机发起 我的几台主机在给定时间停机 并且在这种状态下显然无法运行剧本 这会导致主机是最新的 而其他主机则不是 为了解决这个问题 我可以以常规方式在主主
  • 使用 Google Drive API 更新文件错误 403

    目前 我使用 Google Cloud 的 GWT 应用程序遇到问题 我实际上有一段代码 允许您使用谷歌驱动器应用程序上传文件 除此之外 随着谷歌的更新 谷歌驱动器上的文件不再可能有多个父级 我们可以在这里看到 https cloud go
  • C++ 中变量的作用域最小化

    我现在正在编程一段时间 并开始尝试改进我的代码 由于我真的很讨厌创建大量在长函数中仅使用一次的变量 因此通过使用括号来缩短变量范围是一个好习惯吗 IE 而是写 void fcn int var1 some part of fcn use o
  • 如何在 CLI 容器之外查询 Hyperledger Fabric 区块链数据?

    我正在使用 Fabric sample 中的 byfn sh 脚本来启动我的区块链 我想从区块链中调用和查询 PHP 网站的数据 我确实知道我只能使用 CLI 容器中的 API 调用或使用 JavaSDK NodeSDK RESTapi 如
  • C++11 何时使用内存栅栏?

    我正在编写一些线程 C 11 代码 并且我不完全确定何时需要使用内存栅栏或其他东西 所以这基本上就是我正在做的事情 class Worker std string arg1 int arg2 int arg3 std thread thre
  • Azure DevOps Build 出现错误:无法找到程序集“System.ComponentModel.Annotations”

    我有一个 netstandard 2 0 项目 参考System ComponentModel Annotations 它在我的本地计算机上构建得很好 但是当我尝试使用 Azure DevOps 管道构建它时 出现以下错误 警告 MSB32
  • Octave 字体配置错误

    我按照给出的说明通过 Homebrew 安装了 Octavehere http jatinganhotra com blog 2014 01 21 installing octave on os x 10 dot 9 mavericks 当
  • AngularJS {{ 值 | number:1 }} 不四舍五入到小数点后 1 位

    p b x title b Rating x rating number 1 p 上面的代码是我正在使用的 它正确获取值 因为它显示一个未舍入的数字 例如 3 333333333 所以我知道该值已正确传递 为什么 number 过滤器不起作
  • 我是否需要重复使用相同的 Akka ActorSystem,还是可以在每次需要时创建一个?

    Akka 2 x 需要很多命令来引用ActorSystem 因此 创建一个 actor 的实例MyActor你可能会说 val system ActorSystem val myActor system actorOf Props MyAc
  • python protobuf无法反序列化消息

    在 python 中开始使用 protobuf 我遇到一个奇怪的问题 一个简单的消息原型定义是 syntax proto3 package test message Message string message 1 string sende
  • 无法通过API上传github发布资产

    我有一个 github 版本 但还没有资产 curl https api github com repos cljsinfo api docs releases 1260660 assets 但是我不能上传资产 https develope
  • Windows 中带有 mcrypt 的 PHP 7.2

    有一些巨大的遗留系统依赖于 PHPmcrypt极其重要且至关重要 包括数据库中的数据存储 我需要找到一种方法来维护这个库 同时升级到 PHP 7 2 已经运行良好 我本地的测试环境是Windows 现场环境运行在CentOS上 我看到的一些
  • preg_replace 中的 urlencode

    str preg replace look 1 80 Ui look a href 1 a str 我想对 url 进行编码 但我该怎么做呢 我可以在 preg replace 中使用 urlencode 函数吗 类似的东西 str pre