根据 HTML 文本匹配产品价格

2023-12-07

我正在尝试在字符串上使用简单的正则表达式来获取定价信息,但是我的preg_match_all根本就是没有找到它应该找到的东西。

我正在寻找例如$**.** or £**.**或者有时货币符号可能被编码为 HTML 实体,例如对于英镑£ or £

使用有问题吗preg_match_all寻找html实体?

这就是我正在尝试的:

$price = preg_match_all(
    '#(?:\$|\£|\€|\£|\£)(\d+(?:\.\d+)?)#', 
    $string, 
    $matches
);

但我得到:未知修饰符“1”


下面是一些明显的错误:

1) preg_match_all()预计至少有 3 个参数,因此必须是

preg_match_all(
    '#(?:\$|\£|\€|\£|\£)(\d+(?:\.\d+)?)#', 
    $string, 
    $matches
);

The $matches变量将包含匹配的字符串。你的$price将包含模式匹配的次数。请参见http://php.net/preg_match_all了解更多信息。

2)您有一个未转义的分隔符:

'#(?:\$|\£|\€|\£|\£)(\d+(?:\.\d+)?)#'
 ^                       ^                    ^
 Start                   Unescaped            End

解决这两个问题将使代码运行没有任何解析错误。它还应该回答有关匹配实体的字面问题。

但是,我有点怀疑正则表达式能否实现您想要做的事情。价格并不总是列出[CurrencySymbol][Amount]。例如,欧元通常写为 100€ 或 100 €。因此,您必须检查符号之前的数字以及之后的空格。

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

根据 HTML 文本匹配产品价格 的相关文章

  • 如何将 gettext 字典中的术语输入 JavaScript?

    我正在尝试使用 php 和 javascript jquery 开发一个支持多种语言的网站 我正在尝试获得以下东西 高效 我需要尽可能减少这个操作的后端处理 可扩展 向翻译添加新字符串必须简单实用 问题是 我的 javascript 代码正
  • 使用 try {} catch {} 与 if {} else {} 相比有何优势

    我正在从 php 中的普通 mysql 切换到 PDO 并且我注意到测试错误的常见方法是使用 try catch 组合而不是 if else 组合 该方法的优点是什么 我可以使用一个 try catch 块而不是多个嵌套的 if else
  • 向 Laravel 的 Mailer 添加新的传输驱动程序

    我需要向 Laravel 的邮件包添加一个新的传输驱动程序 以便我可以通过默认情况下不支持的外部服务 Mailjet 发送电子邮件 编写传输驱动程序不会成为问题 但我找不到一种方法来连接并添加新的驱动程序 以便我可以继续正常使用 Larav
  • 我应该存储密码的哈希值吗?

    用户系统和密码 我正在查看 MD5 内容 我想知道密码的正常 良好做法是什么 现在 我认为人们对密码进行超级加密并存储哈希值 如果是这样 密码检查如何工作 我只是让输入的密码再次经过加密过程 然后用存储的哈希值检查哈希值 对吗 这个问题可能
  • Symfony2 捕获会话超时

    我有一个关于 Symfony2 的问题 希望有人能帮助我 Symfony 在哪里检查用户会话以及没有会话时该怎么办 就像重定向到登录页面一样 我发现了一些类似的问题 但不是我的意思 我为什么想知道它 如果有会话超时 我想检查调用是否是 Xm
  • 用于解析差异的 PHP 类

    我正在编写一个 PHP 脚本 需要解释 Git 创建的 Diff 文件 如果我想解析 Diff 文件并基本上以完全不同的格式打印它 我应该如何进行 我遇到过Text DiffPEAR 库 但该库仅创建 Diff 本身 或者更确切地说 它只需
  • 如何在购物车中显示自定义属性(Magento)

    我尝试了很多东西 但没有一个起作用 我想我可以在产品页面上获取自定义属性 但我想知道 如何在购物车页面中获取它们 属性只是简单的文字 item gt getProduct gt load 将从数据库重新加载所有产品数据 虽然这可行 但请记住
  • md5() 是做什么用的?

    我正在阅读本教程简单的PHP登录系统 http www phpeasystep com workshopview php id 6 最后它建议你应该使用 md5 加密您的密码 http www phpeasystep com worksho
  • Laravel 检查集合是否为空

    我的 Laravel 网络应用程序中有这个 foreach mentors as mentor foreach mentor gt intern as intern tr class table row link td intern gt
  • Zoopla 沙箱出现 cURL http 标头错误

    我正在为房地产经纪人开发代码 以通过他们的数据源将房产上传到 Zoopla 我在将所需的配置文件添加到所需的 http 标头时遇到问题 文档中唯一的示例是来自 Linux 的测试 echo branch reference test cur
  • WooCommerce 从前端(而不是管理员)隐藏订单项元

    我有一些我不希望客户看到的订单项元详细信息 在帐户信息下的查看订单页面上 我找到了一个过滤器 可以从管理员 我仍然希望看到它 中删除这些数据 但找不到类似的过滤器来从前端 应该隐藏它 中删除它 这是将从后端管理中删除它的代码 对我来说毫无用
  • 通过 Amazon SQS 将压缩文本从 PHP 发送到 NodeJS

    我似乎一直坚持通过 Amazon SQS 将压缩消息从 PHP 发送到 NodeJS 在 PHP 方面我有 SQS gt sendMessage Array QueueUrl gt queueUrl MessageBody gt artic
  • PDO获取最后插入的ID

    我有一个查询 我想获取插入的最后一个 ID 字段ID是主键并且自动递增 我知道我必须使用这个声明 LAST INSERT ID 该语句适用于如下查询 query INSERT INTO cell place ID VALUES LAST I
  • 如何在PHP中创建后台进程

    我想在 PHP 中创建后台进程 我正在尝试在客户端使用 AJAX 调用并在服务器端使用 PHP 来尝试所有这些 实际上我正在废弃很多网址 为此 我在文本区域中列出了所有剪贴簿网址 并使用 POST 方法提交表单 表单操作将捕获 POST 数
  • PHP Web 应用程序 (Magento) 遭到黑客攻击;这段黑客代码有什么作用?

    我刚刚安装的 Magento 1 3 2 4 被黑了 你能告诉我这段代码的目的是什么吗 另外 如何阻止这种情况以及如何发现漏洞 谢谢 function net match network ip ip arr explode network
  • 用于验证网络路径的正则表达式 PHP、jQuery、JavaScript、Ruby

    尝试找出用于验证网络路径的正则表达式 即 comp xyz or comp or comp x y z storage或者所有部分都更长的东西 但希望能够传达其要点 我目前拥有的是一个简单的输入字段 用户可以通过它传递信息 事情是我不希望他
  • 回显并打印声明

    假设有以下代码
  • 将 Unicode 字符转换为等效的 ASCII 字符

    为了索引和搜索的目的 我需要 展平 一些 Unicode 字符串 例如 我需要转换G the 转换为 ASCII 最后两个字符在 ASCII 中没有紧密的表示 因此可以完全丢弃它们 所以我的期望是 echo iconv UTF 8 ASCI
  • 56 CONNECT 后收到来自代理的 HTTP 代码 403?

    使用 cUrl 从我的网页生成销售人员线索时 出现 56 在 CONNECT 后从代理接收到 HTTP 代码 403 错误 该网站的 SSL 证书已过期 UPDATED 我的代码如下 curl setopt curl CURLOPT URL
  • 将日期时间舍入到最后一小时

    我试图寻找这个 但我找不到我想做的事情的好例子 我在 MySQL 数据库中得到了日期时间值 当使用该值时必须向下舍入 例如 所有这些值 2013 04 20 07 14 422013 04 20 07 19 512013 04 20 07

随机推荐

  • 使用 Powershell 3.0 切换 IIS 7.5 身份验证“匿名身份验证”?

    我想使用 Powershell 切换 IIS 管理器 7 5 Windows 7 默认网站 我的网站 身份验证 匿名身份验证中的匿名身份验证 启用 禁用 设置 我并不是在寻找改变 web config 文件的东西 而是完全按照 IIS 管理
  • 如何使用 Dropzone 为多个图像字段在 Django 中上传多个图像

    我正在开发一个项目 其功能是用户可以使用拖放功能上传多个图像 我正在使用 Django python 进行开发 我已经在 django 模板中实现了拖放功能 但是在提交表单数据时出现图像错误 我的 Html 模板代码是
  • SparkR 收集方法因 Java 堆空间内存不足而崩溃

    使用 SparkR 我尝试使用 PoC 来收集我从包含大约 4M 行的文本文件创建的 RDD 我的 Spark 集群在 Google Cloud 中运行 部署了 bdutil 由 1 个主节点和 2 个工作节点组成 每个节点有 15GB R
  • VBA Dir 在名为“..”或 Documents.xlsx 的目录中拾取 Ghost 文件

    我相当熟悉 VBA 的使用Dir循环遍历文件夹中的文件的过程 通常 我不会遇到问题 但在我正在处理的项目中 DIR 正在获取一个据我所知不存在的文件 这最终导致我的代码调试错误 Here is a screenshot of the fol
  • Xcode Swift am/pm 时间转为 24 小时格式

    我正在尝试将 am pm 格式时间转换为 24 小时格式时间 6 35 PM to 18 35 我在操场上尝试了这段代码 但似乎没有 如果我有时间独自工作 let dateAsString 02 12 15 6 35 PM let date
  • 为什么循环顺序会影响二维数组迭代时的性能?

    下面是两个几乎相同的程序 除了我切换了i and j周围的变数 它们运行的 时间不同 有人可以解释为什么会发生这种情况吗 版本1 include
  • python/tkinter 绘图程序撤消函数

    我尝试在我的绘画程序中添加一个撤消功能 该功能从画布中删除对象 创建的每个对象都附加到堆栈中 我尝试了它 它可以工作 但屏幕不会仅在第一个撤消时更新 因此如果我绘制 3 条线然后我撤消什么也不会发生 当我一次又一次撤消时 第二行和第三行将被
  • 在 ImageView 上的 OnTouch 中返回 false,但事件仍然被消耗

    我在用ImageView onTouch 我返回 falseACTION MOVE但仍然是onTouch 事件被消耗 imageView setOnTouchListener new View OnTouchListener Overrid
  • 交换字符串中的大小写[重复]

    这个问题在这里已经有答案了 我正在尝试解决Hackerrank 中的这项挑战 它要求将所有小写字母转换为大写字母 反之亦然 我尝试使用以下代码 def swap case s length len s i 0 while length if
  • 从 R 闪亮的 selectInput 中过滤

    我试图让用户上传 csv 文件 然后获取该 csv 文件的一列 因子 并创建用户输入 以确定将为数据框选择该字段中的哪个唯一名称 因此 如果我有以下示例 data frame COURSE VALUE 1 A 7 2 C 2 3 C 2 4
  • 在 SSIS 中动态更改服务器名称

    我的 SSIS 包在开发周期 开发 QA 暂存和生产 期间会经历多个环境 因此我想使用 SSIS 中的配置来设置连接管理器中的服务器名称 这样我就不会不需要手动完成此操作 我读过有关使用 xml 配置文件 SQL 配置表和环境变量的内容 然
  • 谷歌地图:未捕获的类型错误:类型错误

    在几个页面上 我开始收到上述错误 但仅在 Chrome 中 这是一些简单的代码来演示该错误
  • 使用 boost::dynamic_bitset 作为键值对序列化 boost::bimap

    我有兴趣序列化boost bimap含有boost dynamic bitset这样我就可以保存它并在需要时加载回来 我已经尝试这样做 但遇到了很多错误 我随身携带的代码如下 Example program include
  • python 中的布尔值是可变的吗?

    我在 python 中有以下代码 def update request id success 0 try product Mattress objects get id id success 1 except Mattress DoesNo
  • C# 内存地址和变量

    在C 中 有没有办法 获取存储在a中的内存地址 引用类型变量 获取a的内存地址 多变的 EDIT int i int pi i 如何打印 pi 的十六进制值 对于 2 运算符的工作方式与 C 中相同 如果变量不在堆栈上 您可能需要使用fix
  • 从“SecKeychainFindGenericPassword”给出的“SecKeychainItemRef”中提取“用户名”?

    从这个问题 我知道你可以使用SecKeychainFindGenericPassword without用户名值 它仍然会返回给定服务的钥匙串项 但是我如何获取用户名呢 仅使用服务名称获取存储在钥匙串中的用户名 或者 您应该在哪里存储用户名
  • 是否可以将网页内容读入字符串中,以便我可以解析数据?

    我希望能够让我的 iPhone 将 URL 或者实际上是 url 指向的文件 加载到字符串中 我希望能够执行此操作的原因是这样我就可以解析字符串以查找标签并从中提取一些值 这些文件主要是网页 例如 html 或 asp 等 有人能给我一些提
  • 导出并发布 Typescript 中的所有类型和接口

    我正在尝试发布一个打字稿库 我不清楚如何公开所有类型和接口 这是我的设置 mylib src types mytypes ts index ts package json tsconfig json index ts import MyIn
  • Firefox - 删除未修饰复选框的边框

    我有一个复选框appearance none 这在 Chrome 中有效 但在 Firefox 中它留下了一个我无法删除的插入边框 我努力了border none已经 我这里有一个小提琴 http jsfiddle net jcJJ5 不幸
  • 根据 HTML 文本匹配产品价格

    我正在尝试在字符串上使用简单的正则表达式来获取定价信息 但是我的preg match all根本就是没有找到它应该找到的东西 我正在寻找例如 or 或者有时货币符号可能被编码为 HTML 实体 例如对于英镑 pound or 163 使用有