问题标签 [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 投票
2 回答
7349 浏览

php - PHP 正则表达式替换图像 SRC 属性

我正在尝试找到一个允许我替换SRC图像中的属性的正则表达式。这是我所拥有的:

src="在大多数情况下,这很有效,除了当 $contents 回显到屏幕时,该属性之前的任何内容都会被消除。最后,SRC正确更新,并将更新后的图像 URL 后的所有属性返回到屏幕。

我对使用 DOM 或 XML 解析库不感兴趣,因为这是一个如此小的应用程序。

如何修复正则表达式以便只SRC更新 for 的值?

感谢您的时间!

0 投票
2 回答
1188 浏览

php - PHP preg_replace_callback 与 unicode

我在下面写了一个简单的脚本来模拟我的问题。我的字符串和模式都包含 unicode 字符。

基本上,如果我从命令行(php -f test.php)运行它,它会按预期打印“匹配”。但是如果我通过网络服务器(apache,http://localhost/test.php)运行它,它会打印“不匹配”。我正在使用 PHP 5.3。

知道为什么它的行为不同吗?我如何使它通过网络服务器工作?

谢谢。

0 投票
2 回答
121 浏览

php - RegEx:如何从模式中提取值/数字并将其替换为其他内容?

例如我有这段数据:

我有这段文字:

我最喜欢的乐队是:#band{2},然后是:#band1。我的第一个金属乐队是:#band{5},我有时喜欢在听:#band3#band{4}的时候戴头。

所以在 RegEx 之后,它应该是这样的:

我最喜欢的乐队是:Megadeth,然后是:Metallica。我的第一支金属乐队是:Black Sabbath,有时我在听:AnthraxSlayer时喜欢戴头巾。

所以,我需要一个模式/示例如何从这两种模式中提取数字:

#band{NUMERIC-ID}#bandNUMERIC-ID

0 投票
5 回答
864 浏览

php - PHP:如何使变量在 create_function() 中可见?

这段代码:

如何使 $t 从 preg_replace() 函数中的 create_function() 可见?

0 投票
1 回答
78 浏览

php - php-regex 未编译

当我运行以下内容时:

我明白了:

我的正则表达式有什么问题?

编辑:

0 投票
3 回答
332 浏览

php - preg_replace_callback (regex) 如果字符串不包含字符

我试图让 preg_replace_callback 仅在不包含某个字符时才返回匹配项。

因此,如果字符串包含:

返回匹配。如果它包含:

不要返回匹配项。

这是我的尝试:

谢谢你们!

0 投票
1 回答
844 浏览

php - PHP preg_replace_callback

我在我的 html 文件中有这个标签:

我需要用数据库中的内容解析和替换这个标签,我的方法:

这是正确的方法吗?谢谢。

0 投票
1 回答
1188 浏览

php - 将正则表达式与 preg_replace_callback 一起使用

我想将可能包含特殊字符的字符串的第一个字母大写(这就是 ucfirst 在这里无效的原因)。我有下一个代码:

返回 '​​éSta' 但 'Ésta' 是预期的......我认为我的问题是我正在使用的模式,但我做了不同的组合(如$pattern = '/\pL/u'),但我还没有找到一个好的正则表达式。

0 投票
2 回答
53112 浏览

php - 如何使用 preg_replace_callback?

我有以下 HTML 语句

我想要做的是用 html div 替换 [otsection] 标签。问题是我想从 1->2->3 等增加 div 的 id。

所以例如,上面的语句应该翻译成

据我所知,最好的方法是通过 preg_replace_callback 在每次替换之间增加 id 变量。但经过 1 小时的工作后,我无法让它工作。

对此的任何帮助将不胜感激!

0 投票
1 回答
227 浏览

php - PHP preg_replace_callback 正则表达式 (.*?) 匹配失败

我正在尝试用 PHP 中的正则表达式匹配/替换以下输入文本:

其中 var1>var2 是一个数组:

我有以下类用正则表达式解析文本(使用 preg_replace_callback):

我得到(不正确的)输出:

当我从输入文本中删除“前行”时,我得到了正确的结果:

我已经在寻找一天,我认为这将是一个有点愚蠢的问题,但我找不到它......有什么帮助吗?