PHP-替换字符串之间的所有内容,包括内容

时间:2018-10-18 14:56:06

标签: php string web replace

我想遍历一个像这样的字符串。

Booo ahh [Hello] and what is [Baby] at your [Mouse]

我的目标是将每个[@@@]用另一个字符串替换,该字符串不是静态的,但可以处理方括号之间的内容。

应该像

function replace_string($text) {
 ...
 //Maybe some kind of loop for all brackets
 {
  $content = ... //For example Hello, Baby, Mouse => @@@
  $replacement = "I'm a " . $content . "!";
  ...
 }
 return $replacedString;
}

我认为它不能像我的“建议”那样起作用,但是我希望我能展示我想做的事情,并且有人可以帮助我。

1 个答案:

答案 0 :(得分:0)

据我了解,您希望在此字符串的末尾:

  

Booo啊[我是你好!]和[I'm Mouse!]上的[I'm Baby!]

是什么?

因此您可以使用preg_replace函数:http://php.net/manual/en/function.preg-replace.php

您的代码如下:

library(effsize)

f <- list(c("pre", "post1"), c("post1", "post2"))

res <- lapply(split(df, df$vars), function(DF)
  sapply(f, function(g) {
    D <- subset(DF, phase %in% g)
    D$phase <- fct_drop(D$phase)
    cohen.d(value ~ phase, data = D, paired = TRUE)$estimate
  })
)

res
#$a
#[1] -1.5663301  0.2495671
#
#$b
#[1] -0.2716963  0.0659341

如此

function replace_string($text) 
{     
   return preg_replace('/\[([^\]]+)\]+/', "[I'm a $1!]", $string);
}

不确定是否要保留方括号,是否要保留方括号

  

嘘,我好!我是个婴儿!在你我是老鼠!

只需使用:

<?php

$string = 'Booo ahh [Hello] and what is [Baby] at your [Mouse]';
echo replace_string($string);
// will display 
// Booo ahh [I'm a Hello!] and what is [I'm a Baby!] at your [I'm a Mouse!]

您可以在此处查看正则表达式:https://regex101.com/r/8hJQr0/1