- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
呃...我有一个类,试图制作一个模板类,使用preg_replace_callback,但我不知道参数2如何写
class template {
public function parse_template($newtpl, $cachetpl){
......
$template = preg_replace("/\<\!\-\-\{(.+?)\}\-\-\>/s", "{\\1}", $template);
$template = preg_replace_callback("/\{lang\s+(.+?)\}/is", $this->languagevar('\\1'), $template);
......
}
public function languagevar($param1){
......
return $lang[$param1];
......
}
}
这是如何工作的?
在我的 html(模板)文件中,有类似 {lang hello} 的内容,parse_template 找到了 {lang everything} 它将使用 $this->languagevar('hello'); 进行转换
但我不断收到错误
$template = preg_replace_callback("/\{lang\s+(.+?)\}/is", $this->languagevar('\\1'), $template);
错误消息是
preg_replace_callback(): Requires argument 2, '('\1')', to be a valid callback
在我可以使用
进行回调之前preg_replace("/\{lang\s+(.+?)\}/ies", "\$this->languagevar('\\1')", $template);
但也许当前的 php 版本问题,它收到错误说/e 已弃用,请改用 preg_replace_callback
最佳答案
用途:
$template = preg_replace_callback("/\{lang\s+(.+?)\}/is", array($this, 'languagevar'), $template);
传递给回调函数的参数是一个匹配元素的数组,因此您必须将 languagevar
更改为以下内容:
public function languagevar($matches){
/// ......
return $lang[$matches[1]];
}
关于php - preg_replace_callback 在参数 2 处调用 $this->method ('\\1' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22227923/
我在文本中有几个“短代码” block ,我想使用 preg_replace_callback 将它们替换为一些 HTML 实体。 短代码的语法很简单: [block:type-of-the-bloc
我有一个正则表达式的问题。 我正在使用 token ,我必须解析这样的文本: Just some random text #IT=AB|First statement# #xxxx=xxx|First
我有这个代码: $string = 'The quick brown fox jumped over the lazy dog and lived to tell about it to his cr
我有正则表达式来查找所有带百分比的数字 (100|\d\d|\d)\% - 此正则表达式已给出,我不能更改它。我有输入字符串: Lorem ipsum 10% dolor, 8%sit amet 50
今天我开始理解具有已知值的 preg_replace_callback,得到了一些很大的帮助。但现在我想处理未知的值。 $string = ' texttextmore textPage 6Page
我使用 Wordpress 插件 Codecolorer ( https://wordpress.org/plugins/codecolorer/ ),在 PHP 7 上我遇到了这个问题: /**
我有以下 HTML 语句 [otsection]Wallpapers[/otsection] WALLPAPERS GO HERE [otsection]Videos[/otsection] VIDE
我刚刚将服务器上的PHP从php 5更新到了php 7,并且收到以下警告: 警告:preg_replace_callback()[function.preg-replace-callback0]:要求
使用 PHP preg_replace_callback函数,我想用子字符串“X1X2”替换模式“function([x1,x2])”的出现,用子字符串“X1X2X3”替换“function([x1,
这个问题已经有答案了: Are PHP Variables passed by value or by reference? (16 个回答) 已关闭 8 年前。 我有一个看起来像这样的函数... f
有没有一种简单的方法来跟踪 preg_replace_callback 中的当前索引?我需要替换以下内容,例如: {get}50{end get} 使用 $someArray[50] 的值。我不能只将
我有一个问题要问你! 通常,如果您在 OOP 上下文中调用回调函数,则必须使用 array(&$this, 'callback_function') 这就是我想出来的。 但现在我想在外部类中调用回调,
这个问题已经有答案了: Are PHP Variables passed by value or by reference? (16 个回答) 已关闭 8 年前。 我有一个看起来像这样的函数... f
我正在尝试将使用 javascript 替换函数的 javascript 翻译成 PHP。 js 替换有一个使用偏移量和源字符串值的回调。我尝试使用 preg_replace_callback js
我正在尝试创建一个网络应用程序,它将任何选定的网页转换为简单的英语形式。我有一个逐字翻译存储在 MySQL 数据库中。到目前为止我有这个代码。它有效,但似乎只能在几个标签中完成我想要的操作,而不是整个
我有一个 JavaScript 函数(不是普通的 JavaScript) function formatString () { var args = jQuery.makeArray(argu
所以...所有属性都已完美排序 但是 如何将它们替换(/合并)回原来的 $css 值? 这段代码几乎是不言自明的,但我已经添加了我期望得到的内容以防万一……这里需要进行一些小调整:) '. p
我在一些使用旧系统的页面上有链接,例如: This is a link 他们需要转换到新系统,例如: This is a link 我可以使用 preg_replace t0 更改一些我需要的内容,但
我正在尝试创建一个 REGEX 输入 > quote the rest of it > another paragraph the rest of it 和OUTPUT quotethe rest o
我正在尝试用传递的数组中的值替换 $text 中的 {{key}} 项。但是当我尝试添加 print_r 以查看发生了什么时,我收到了 Undefined variable: kvPairs 错误。如
我是一名优秀的程序员,十分优秀!