问题标签 [preg-replace-callback]

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 回答
490 浏览

php - PHP preg_replace_callback 没有替换我的“匹配”

为什么这会返回原始字符串而不是编辑后的字符串?

原始字符串:

代替:

结果所需的字符串:

这是我收到的警告:

0 投票
5 回答
5843 浏览

php - 如何替换第一个 HTMLPHP 中的标记

我在 PHP 中有一个文本字符串:

我们可以看到,第一个强标签是

我想删除第一个强标签,并将其中的单词变成 ucwords(首字母大写)。像这样的结果

我尝试过使用爆炸功能,但它似乎不是我想要的。这是我的代码

我的代码只有结果

0 投票
0 回答
39 浏览

php - preg_replace_callback finding 2 matches should be 1

I have the following code being shown in a textbox and am turning it into a table:

I'm doing the replace callback with this function:

In the logic I have:

$x keeps returning 2 even though it should be one.... Whats wrong with my callback?

var_dump($matches) is returning:

How is that 2nd string getting in there?

0 投票
1 回答
853 浏览

php - preg_replace_callback,回调的返回值不替换匹配的字符串

在以下代码段中

为什么bar不替换foo

0 投票
1 回答
229 浏览

php - URL 检测和 BB 样式标签(正则表达式、前瞻问题)

所以我正在构建一个小型 CMS,我想避免在内容编辑器中允许 HTML。出于这个原因,我想检测文本中的原始 URL 以及支持类似 BB 的标签,以便更好地定制。

不幸的是,我对正则表达式还很陌生,我似乎无法让它工作。我在字符串上运行了两个正则表达式:第一个检测原始 URL,第二个检测类似 BB 的 URL。后者似乎工作得很好,但第一个会干扰,并且也会转换包含在标签中的 URL。

我从在这里找到的一段代码开始,并做了一些补充。

这是非标记 URL 的代码:

之前的负面后视www.是因为/不是单词字符,没有它就像

之后仍然会匹配http://

上面的正则表达式产生以下匹配(用http://gskinner.com/RegExr/测试,匹配以粗体显示。我必须在后面添加空格,http://因为我不允许发布更多 URL):

www.example.com
http:// www.example.com
http://example.com
[链接http://www.example.com]没问题 1[/link]
[链接 www.example.com]没问题2[/link]
[链接http://www.example.com] http://www.example.com[/link ]

我尝试移动负面的前瞻性并使用括号(非常漫无目的),但没有成功。

为了完整起见,这是标签匹配的正则表达式(似乎有效):

我相信有人可以立即发现错误。

提前非常感谢!

0 投票
0 回答
172 浏览

php - PHP preg_replace_callback 变量优化

我一直在搜索有关 preg_replace_callback 的信息并设法让我的东西正常工作,但我想知道这是否可以优化?

我可以在一次预运行中运行这两个吗?

0 投票
2 回答
942 浏览

php - preg_replace_callback 与匿名函数

我收到此错误,但我无法找出原因:

Parse error: syntax error, unexpected $end in C:\wamp\www\test.php(19) : eval()'d code on line 1

任何见解将不胜感激!

0 投票
1 回答
132 浏览

php - 用正则表达式替换和提取匹配项

如何使用例如 preg_match_all() 获取所有匹配项,并将结果替换为空字符串?

我试过这样的东西:

但这并不能很好地工作,因为 $comment 变量似乎无法从匿名函数中访问。我想我可以制作全局变量,但我真的不想像那样搞乱命名空间

0 投票
3 回答
111913 浏览

php - 用 preg_replace_callback 替换 preg_replace() e 修饰符

我对正则表达式很糟糕。我正在尝试替换它:

使用带有匿名函数的 preg_replace_callback。我不明白 \\2 在做什么。或者就此而言, preg_replace_callback 究竟是如何工作的。

实现这一目标的正确代码是什么?

0 投票
2 回答
673 浏览

php - 用于使用 preg_replace_callback 评估 html 的 if/else 条件的 PHP 正则表达式模式

我想要一个正则表达式模式来评估手动创建的 html 标签中的 if/else,如下所示:

而且,更具体地说:

基本上,我想获取所有“条件”的反向引用返回值,以及“返回值”,以练习将 php 变量打印到 html 文件。例子:

  • 在第一个中,$2 是 $condition,$3 是返回值,如果为真,则为 $4,如果为假
  • 在第二个中,$2 是 $condition,$3 是如果为真,$4 是第二个条件,$5 是上述条件如果匹配的返回值,以此类推。

我需要一个可以重新调整的模式(如果有的话)

或者

或多次出现,以正确返回反向引用的值。

这样做的目的是使用一个 php 文件(带有预定义变量)来包含一个 html 模板,并根据 php 变量将值打印出来,而不是直接使用

在 html 模板中。

例子:

PHP 文件:

HTML 文件:

运行 PHP 文件时,它将打印:

我希望得到一个具体的答案,或者任何其他方法来修复我自己编写的代码(不是很好恕我直言)。

谢谢你。