问题标签 [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.
php - PHP 正则表达式替换图像 SRC 属性
我正在尝试找到一个允许我替换SRC
图像中的属性的正则表达式。这是我所拥有的:
src="
在大多数情况下,这很有效,除了当 $contents 回显到屏幕时,该属性之前的任何内容都会被消除。最后,SRC
正确更新,并将更新后的图像 URL 后的所有属性返回到屏幕。
我对使用 DOM 或 XML 解析库不感兴趣,因为这是一个如此小的应用程序。
如何修复正则表达式以便只SRC
更新 for 的值?
感谢您的时间!
php - PHP preg_replace_callback 与 unicode
我在下面写了一个简单的脚本来模拟我的问题。我的字符串和模式都包含 unicode 字符。
基本上,如果我从命令行(php -f test.php)运行它,它会按预期打印“匹配”。但是如果我通过网络服务器(apache,http://localhost/test.php)运行它,它会打印“不匹配”。我正在使用 PHP 5.3。
知道为什么它的行为不同吗?我如何使它通过网络服务器工作?
谢谢。
php - RegEx:如何从模式中提取值/数字并将其替换为其他内容?
例如我有这段数据:
我有这段文字:
我最喜欢的乐队是:#band{2},然后是:#band1。我的第一个金属乐队是:#band{5},我有时喜欢在听:#band3或#band{4}的时候戴头。
所以在 RegEx 之后,它应该是这样的:
我最喜欢的乐队是:Megadeth,然后是:Metallica。我的第一支金属乐队是:Black Sabbath,有时我在听:Anthrax或Slayer时喜欢戴头巾。
所以,我需要一个模式/示例如何从这两种模式中提取数字:
#band{NUMERIC-ID}或#bandNUMERIC-ID
php - PHP:如何使变量在 create_function() 中可见?
这段代码:
如何使 $t 从 preg_replace() 函数中的 create_function() 可见?
php - php-regex 未编译
当我运行以下内容时:
我明白了:
我的正则表达式有什么问题?
编辑:
php - preg_replace_callback (regex) 如果字符串不包含字符
我试图让 preg_replace_callback 仅在不包含某个字符时才返回匹配项。
因此,如果字符串包含:
返回匹配。如果它包含:
不要返回匹配项。
这是我的尝试:
谢谢你们!
php - PHP preg_replace_callback
我在我的 html 文件中有这个标签:
我需要用数据库中的内容解析和替换这个标签,我的方法:
这是正确的方法吗?谢谢。
php - 将正则表达式与 preg_replace_callback 一起使用
我想将可能包含特殊字符的字符串的第一个字母大写(这就是 ucfirst 在这里无效的原因)。我有下一个代码:
返回 'éSta' 但 'Ésta' 是预期的......我认为我的问题是我正在使用的模式,但我做了不同的组合(如$pattern = '/\pL/u'
),但我还没有找到一个好的正则表达式。
php - 如何使用 preg_replace_callback?
我有以下 HTML 语句
我想要做的是用 html div 替换 [otsection] 标签。问题是我想从 1->2->3 等增加 div 的 id。
所以例如,上面的语句应该翻译成
据我所知,最好的方法是通过 preg_replace_callback 在每次替换之间增加 id 变量。但经过 1 小时的工作后,我无法让它工作。
对此的任何帮助将不胜感激!
php - PHP preg_replace_callback 正则表达式 (.*?) 匹配失败
我正在尝试用 PHP 中的正则表达式匹配/替换以下输入文本:
其中 var1>var2 是一个数组:
我有以下类用正则表达式解析文本(使用 preg_replace_callback):
我得到(不正确的)输出:
当我从输入文本中删除“前行”时,我得到了正确的结果:
我已经在寻找一天,我认为这将是一个有点愚蠢的问题,但我找不到它......有什么帮助吗?