问题标签 [preg-match-all]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2495 浏览

php - str_replace 仅匹配第一个实例

使用 preg_match_all() 或更好的函数获取标签之间的所有文本的后续问题?

给定以下 POST 数据:

我只想删除 2010-June-3 的第一个实例,但以下代码会删除所有数据。

这呼应:

它应该回显:

0 投票
2 回答
253 浏览

php - 在 PHP 中创建“模板解释器”的最佳方法

我正在托管一个用 PHP 编写的多区域解决方案,每个客户在一些 HTML 文件中都有自己的模板。现在我希望这些用户能够使用一些动态内容块,但他们不能使用 PHP。我想是这样的:

在 HTML 文件中,如果我把这个:

将输出如下内容:

有没有比通过file_get_contents()and继续解析和缓存文件更好的方法preg_match_all()呢?

我想创建大约 20 个条目[menu-list],并且为所有这些文件解析每个文件对我来说似乎相当昂贵。

我很感激任何建议。=D

0 投票
2 回答
195 浏览

php - PHP:preg_match_all() 返回问题

我正在编写这个快速脚本来从网页源中提取聊天室名称。我正在使用 fopen() 和 fgets() 获取数据,并且一切正常。

我的正则表达式是/#[a-zA-z]+/,这似乎确实有效。但是我无法preg_match_all()返回简明的数据列表。

返回“ArrayArrayArrayArrayArrayArrayArrayArray...”。

返回一些东西( [0] => #channel1 ) Array ( [0] => #channe2 ) Array ( [0] => #channel3 )...

我不确定如何正确格式化,有什么快速帮助吗?

0 投票
2 回答
469 浏览

php - 替换html标签的预匹配

使用 preg match 来挑选

只是我想选择这个数字和货币 631.0075 USD

这个数字和货币是动态的,

可能吗 ,

0 投票
1 回答
60 浏览

php - 在 php 正则表达式中启用空格

我想在正则表达式中忽略 AZ、0-9 和空格,目前我有这个,它可以工作,但空格也被忽略,但我需要它们。

0 投票
2 回答
1182 浏览

php - PHP 正则表达式:忽略 + 和 #

所以这就是我正在做的事情:

我有一个右侧有标题的表格,我想在表格中只写 AZ、0-9 和空格,而对于标题我想做相反的事情,所以如果用户写错了我可以显示有什么问题 for example: "Invalid Charachter"

但是我被困住了+#我也想从带有正则表达式的表单中忽略它们,所以我也可以显示这些"Invalid character"消息,因为我看到 php 认为 + 符号是 = 到空格()或什么,但我需要也忽略 + 和 # 符号。这是我当前的代码:

有效字符串:

  • 约翰·多伊
  • 玛丽苏

无效字符串:

  • J#ohn Doe
  • 约翰与多伊
  • 约翰+多伊
  • Mar@y+Sue
  • !玛丽苏
  • 玛丽苏!
0 投票
2 回答
533 浏览

php - preg_match_all() 没有返回任何东西!

我在这里有点难过。我正在测试我在计算机上编写的一些脚本(wamp),但由于某种原因,使用 preg_match_all() 时没有任何效果!我什至注释掉了大部分其他代码,看看是否有干扰,但没有,仍然一样。错误确实显示但在使用 preg_match_all() 时不显示;

非常感谢任何帮助;

0 投票
3 回答
567 浏览

php - 预匹配单独的数字和字符

BC1024、AB124、CBC2548、

使用 preg 匹配来分隔数字和字符,

为此,我尝试了这个 preg 匹配表达式,但效果不佳,

我想输出为

但我的预赛不工作....

只是拍空数组,

0 投票
3 回答
3953 浏览

php - 用于匹配字符串中的双引号和/或单引号字符串的 PHP 正则表达式

我正在处理一个模板类,在尝试从字符串参数列表中解析出带引号的字符串列表时遇到问题。以字符串为例:

我想出一个提取字符串“Hello m'lady”和“null”的正则表达式时遇到问题。我得到的最接近的是

哪个输出:

然而,更复杂的情况是:

输出:

谁能帮我解决这个问题?多个正则表达式是前进的方向吗?

编辑也许用占位符替换字符串中的逗号然后用爆炸分解字符串会更容易吗?

编辑 2只是想到了一个简单的不安全选项(我不会使用),但会生成 E_NOTICE 错误。

0 投票
1 回答
506 浏览

preg-match - 预匹配不读取表之间的内容

输出一样

大批 ( )

我犯错的地方

见人,

实际上我想从这个URL获取确切的细节

我想从此 URL 中选择此详细信息

08:35 9W5048 TORONTO EXPECTED 1358 Terminal 三

所以我尝试了这个片段,但它抛出了像这样的错误

这是我的片段

$read = file_get_contents(" http://www.heathrowairport.com/portal/site/heathrow/template.PAGE/menuitem.a43f3a72926ca3b1b0c52a499328c1a0/?javax.portlet.begCacheTok=token&javax.portlet.endCacheTok=token&javax.portlet.tpst=bde213javaxdefaca17ef63543 .portlet.prp_bde211e38117ef94303fde9faca12635_flightRoute=&javax.portlet.prp_bde211e38117ef94303fde9faca12635_flightNumber=9W5048&javax.portlet.prp_bde211e38117ef94303fde9faca12635_flightTerminal "=); //回显 $read; preg_match_all('/(. ?)</table>/si', $read, $foo, PREG_SET_ORDER); $read1 = $foo[0][0]; preg_match_all('/(. ?)</tbody>/si', $read1, $foo1, PREG_SET_ORDER); print_r($foo1[0][0]);

我得到了像这样的错误