代码之家  ›  专栏  ›  技术社区  ›  Ranjit Panigrahi

标记内的字符串替换

  •  0
  • Ranjit Panigrahi  · 技术社区  · 10 年前

    这是我从数组字段获得的字符串:

    [email_content] => 
    
    Dear {NAME},
    
    {USR}Thank You For Connecting With "Company" .Your Username is {$username}.{/USR}
    
    
    
    {PWD}Thank You For Connecting With "Company".Please Click on the below Link to Resest Yor Password.{/PWD}
     {$password_link}
    
    Thanks & Regards
    ABCD Team.
    

    有时我想只省略整个字符串中的{USR}和{/USR}标记,空值保持它们之间的内容不变,有时我想替换{USR}和{/USR}中的整个内容,包括开头和结尾的{US R}标记而不影响其他字符串内容。

    我尝试了许多字符串函数,但这使我的代码变得冗长。

    1 回复  |  直到 10 年前
        1
  •  3
  •   Toto    10 年前

    怎么样:

    $replacement = '$0';
    if ($remove_tag_only) {
        $replacement = '$1';
    } else if ($remove_all) {
        $replacement = '';
    }
    $string = preg_replace('~\{USR\}(.+?)\{/USR\}~s', $replacement, $string);