抓取{这两个}字符PHP之间的所有实例

时间:2015-10-04 21:53:07

标签: php

我正在创建一个系统,其中会有{这些标签,包含内容} 在文件的各个层面。

如何有效获取内容?

示例:

   // this is a php/html doc.
    {variablename} <<< how can i grab all instances like this, then do something?

基本上取一个文件,用正确的输出替换标签的所有实例,然后返回文件。这是我的任务。

2 个答案:

答案 0 :(得分:1)

str_replace适用于固定(已知)变量。为了捕捉{}中的任何值,你必须使用正则表达式。

$content = "lorem ipsum {something} dolor sit amet.";

$content = str_replace( "{something}", "something else", $content );

echo( $content );

// echos: lorem ipsum something else dolor sit amet.

答案 1 :(得分:1)

使用正则表达式:

$s = 'this is some {text} and {more}';
$p = "/{(.*)}/U";
preg_match_all($p,$s,$m);
var_dump($m);

输出:

array(2) {
  [0]=>
  array(2) {
    [0]=>
    string(6) "{text}"
    [1]=>
    string(6) "{more}"
  }
  [1]=>
  array(2) {
    [0]=>
    string(4) "text"
    [1]=>
    string(4) "more"
  }
}