Search code examples
phptextparentheses

Remove Text Between Parentheses PHP


I'm just wondering how I could remove the text between a set of parentheses and the parentheses themselves in php.

Example :

ABC (Test1)

I would like it to delete (Test1) and only leave ABC

Thanks


Solution

  • $string = "ABC (Test1)";
    echo preg_replace("/\([^)]+\)/","",$string); // 'ABC '
    

    preg_replace is a perl-based regular expression replace routine. What this script does is matches all occurrences of a opening parenthesis, followed by any number of characters not a closing parenthesis, and again followed by a closing parenthesis, and then deletes them:

    Regular expression breakdown:

    /  - opening delimiter (necessary for regular expressions, can be any character that doesn't appear in the regular expression
    \( - Match an opening parenthesis
    [^)]+ - Match 1 or more character that is not a closing parenthesis
    \) - Match a closing parenthesis
    /  - Closing delimiter