问题标签 [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 回答
83 浏览

php - 具有多个正则表达式的 PHP preg_replace_callback

大家好,我在 php 上有以下代码

现在我想添加以下内容:

假设我想让用户选择是否要将目录添加到画廊,所以我这样做:

所以用户有药水要做:{gallery: 'folder'}{gallery: 'folder' dir: '1'}

我将如何根据正则表达式执行此操作,以便即使目录选项不存在也会进行替换?提前致谢!

0 投票
1 回答
165 浏览

php - PHP preg_replace_callback 适用于 5.3 但不适用于 5.2.17

我有以下代码:

问题是这适用于我的本地主机(PHP5.3)但是当我将它上传到我的服务器(5.2.17)时它没有..任何想法为什么?似乎与单引号有关"#\{gallery: '(.+?)'(?: dir: ([0-1]))?\}#i"

0 投票
1 回答
157 浏览

php - PHP:preg_replace_callback 改变结果的顺序

我有以下代码

我的问题是,如果我的字符串看起来像这样:

当它被渲染时,它看起来像这样:

为什么要更改顺序并将替换的代码放在顶部,而将其他所有内容放在底部,甚至是中间的东西?

0 投票
1 回答
2874 浏览

php - preg_replace_callback 与数组模式和替换

我有一个函数,它使用preg_replace()模式和替换是数组的地方。我需要一个计数器来跟踪替换,所以我将函数转换为preg_replace_callback与闭包一起使用,但我似乎无法找到一种方法来区分传递给回调匹配的匹配模式。有没有办法使用 preg_replace_callback 进行数组 => 数组替换?

理想情况下,这是我想要工作的,但显然它不会因为 $pattern 和 $replace 在调用中被评估,而不是在每次替换之间

0 投票
3 回答
315 浏览

php - PHP:在某些地方运行函数(preg_callback?)

只要有 [%xxx%] (如果愿意,可以充当占位符),我都会尝试运行一个函数,例如:

我几乎是一个 PHP 初学者,但我设法破解了我的头脑并想出了以下内容(对我来说是的 - 我不知何故设法理解了正则表达式的基础知识!):

我尝试使用e修饰符,我尝试使用 preg_replace_callback,这一切都有些工作 - 但我不需要在回显 $maintext 变量之前运行该函数。

对这些人有帮助吗?

编辑 正则表达式不是问题 - 工作正常。只有当我回显 $maintext 时,我才需要弄清楚如何运行该函数... preg_replace_callback 立即运行该函数...

0 投票
2 回答
560 浏览

php - preg_replace_callback 匹配 HTML 段落中的 URL

我正在尝试获取单个 HTML 段落中的 URL,并使用 PHP 的preg_replace_callback. 现在,WordPress 通过以下方式做到这一点:

但这与它自己的行上的 URL 匹配——它周围没有 HTML。我需要做的是匹配这样的 URL:

我不关心段落标记之前或之后的空格,我要做的就是提取该 URL 以将其替换为更详细的信息preg_replace_callback

有什么帮助吗?


更新: 好的,我有一个帖子的文字,里面有很多这样的段落:

从该文本中,我只想提取段落中的http://youtube.com/。我看到另一段中有一个 Google.com 链接,但我不希望这样。我想要的只是他们自己段落中的链接(或链接)。它会作为参数传递给我的回调“http://youtube.com/”。

0 投票
3 回答
7226 浏览

python - python的re.sub是否将数组作为输入参数?

根据http://www.php2python.com/wiki/function.preg-replace-callback/ re.sub 是 PHP 的 preg_replace_callback 的 python 等价物,但是 php 版本需要一个数组来匹配要匹配的字符串,所以你可以传递多个字符串,但 re.sub 似乎只接受一个字符串。

这是对的还是我对python的了解不足?

0 投票
2 回答
1196 浏览

php - PHP preg_replace_callback() 和 create_function() 与 eval() 不起作用

我正在尝试在 Internet 上部署我的网站,以便在真实环境中对其进行测试。它是某种文本编辑器,用户可以在其中使用正则表达式和用户定义的回调函数。

我对 preg_replace_callback() 函数有一些问题。我的主机的 PHP 版本早于 5.3,我不能在我的代码中使用匿名函数(我在 localhost 有 PHP 5.4)。所以我必须重写这部分代码(在本地主机上正常工作)

在这一点上,我不是在谈论使用 eval() 的危险——这个问题稍后会得到适当的注意(“禁止”单词列表检查等)。问题是我在下面的尝试

不起作用,也不会发生错误。我的代码有什么问题?

任何帮助将非常感激。


新信息。我试过这个

并发现 create_function() 中的 $replacement 是空的。但是当我在类之外使用相同的 create_function() 时,$replacement 不为空:

0 投票
2 回答
135 浏览

php - php domdocument loadHTML 跳过错误,或正则表达式解决方案

今天早些时候,我问了一个关于使用正则表达式解决方案来用 return fo 某个函数替换 html 中所有链接的 href 的问题。

然后我删除了它,因为我似乎可以使用 DomDocument 解决它,但事实证明,我不能......

看到我的 html 有很多错误的 html 语法、html5 代码等等等。所以 loadHTML 和 loadXML 都不起作用。

请如果有人可以使用正则表达式提供解决方案来查找href并使用调用所有函数来替换..我已经尝试过preg_replace和preg_replace_callback,但我无法理解$ 1,$ 2 ..整个概念..我'我搜索了所有类似的问题,但他们都有 DomDocumenet 的答案,我无法使用..

旧的类似问题: 抓取 A 元素的 href 属性

查找页面中的所有href并替换为维护先前链接的链接 - PHP

但我需要正则表达式解决方案

0 投票
2 回答
207 浏览

php - preg_replace_callback:将替换回调作为变量传入不起作用

这不起作用

这有效

为什么,以及如何使它与存储在 var 中的函数一起工作?:)