我正在努力将值添加到模板中,但遇到了问题。
这是我的模板
TIME : |time,hour|:|time,min|:|time,sec| <br />
ADDING BLOCK 'TIME' ...<br />
<i>|template,tibcoreapps,main|</i><br />
字符|
用于分隔数据块。当我尝试使用 preg_match
获取块|template,tibcoreapps,main|
时,它不适用于我的代码:
preg_match("/(.*)|template,tibcoreapps,(.*)|(.*)/",$templateContent,$result);
var_dump($result);
结果是
array (size=2)
0 => string 'TIME : |time,hour|:|time,min|:|time,sec| <br /> (length=48)
1 => string 'TIME : |time,hour|:|time,min|:|time,sec| <br /> (length=48)
我尝试在互联网上搜索,但无法确切了解preg_match
是如何工作的。我曾经认为如果我分配$result
(第三个参数),它会得到所有匹配的字符串。但即使我尝试获取一个以 template,tibcoreapps,
开头的块,它也会返回其他块或它得到的第一个块。请解释一下preg_match
的工作方式。
感谢您的任何帮助。
由于|
在正则表达式中具有特殊含义,因此您需要对其进行转义。
preg_match("/(.*)'|template,tibcoreapps,(.*)'|(.*)/",$templateContent,$result);
如果您不熟悉正则表达式,则应阅读 regular-expressions.info 中的教程。