删除'('和字符串后面的文字

时间:2015-02-20 16:43:58

标签: php string replace trim

目标,修剪以左括号开头的所有文字'('来自字符串。我在最后一小时读完了堆栈,php.net,google搜索,我&#39我试过使用trim,ltrim,rtrim,strpos,preg_replace等。到目前为止我发现的所有内容都涉及如何替换文本,如果它是一个已知的数量 - 我的将会有所不同。

实施例: 我希望保留的文字(所有这一切我想删除)以及此... 例2: 文本2保留(要删除的文本123) 例3: 请保持(123删除)

清理此字符串的最佳方法是什么?第一个paren之后的文本将是字母数字(字母,数字,甚至可能是感叹号等)。唯一不变的是第一个paren'(',在我想要删除/删除之后的任何事情。

我是新手级别,我还没有处理类或jQuery等。我希望在服务器上执行此操作。

感谢您提供任何帮助或指导。

4 个答案:

答案 0 :(得分:1)

您可以使用strpos查找第一个括号,使用substr来获取子字符串直到此位置:

$str = 'Test keep (remove) remove';
$pos = strpos($str, '(');
$newString = '';
if ($pos !== false) {
    $newString = substr($str, 0, $pos);
}
echo $newString;

输出

Test keep

答案 1 :(得分:1)

经过测试和工作

echo preg_replace('@ \(。* @ i','',$ string_tostrip);

答案 2 :(得分:1)

你在preg_replace的正确轨道上。您可以尝试以下方法:

preg_replace('\([^]*', $replacement, $subject)

答案 3 :(得分:1)

$ str ="我想保留的文字(我要删除所有这些)";

$ S =爆炸("(",$ STR);

$ concatinated_str = $ s [0];

echo $ concatinated_str; //我要保留的文字