【发布时间】:2010-03-06 00:12:35
【问题描述】:
在我的字符串中,我有如下占位符:##NEWSLETTER##、##FOOTER# ##GOOGLEANALYTICS## 等。
每个占位符由以下分隔:##
我想找到每个占位符并将它们放入一个数组中。
棘手的部分是 ## 分隔符内的内容可以是任何内容。
【问题讨论】:
标签: php arrays placeholder
在我的字符串中,我有如下占位符:##NEWSLETTER##、##FOOTER# ##GOOGLEANALYTICS## 等。
每个占位符由以下分隔:##
我想找到每个占位符并将它们放入一个数组中。
棘手的部分是 ## 分隔符内的内容可以是任何内容。
【问题讨论】:
标签: php arrays placeholder
试试这个:
<?php
$s = "asdff ##HI## asdsad ##TEST## asdsadsadad";
preg_match_all("~##([^#]+)##~", $s, $result);
var_dump($result[1]);
打印:
array(2) {
[0]=>
string(2) "HI"
[1]=>
string(4) "TEST"
}
【讨论】:
你可以使用preg_match_all():
$str = '##NEWSLETTER## , some more text ##FOOTER## test 123 ##GOOGLEANALYTICS## aaa';
preg_match_all('/##([^#]+?)##/', $str, $matches);
var_dump($matches);
$matches[1] 将包含您所有的占位符
【讨论】: