【问题标题】:How to remove brackets from string in php?如何从php中的字符串中删除括号?
【发布时间】:2012-02-16 19:52:09
【问题描述】:

我有以下字符串,想使用 str_replace 或 preg_replace 删除括号,但不确定如何。我已经能够使用 str_replace 删除左括号,但无法删除右括号。

这是刺痛:

$coords = '(51.50972493425563, -0.1323877295303646)';

我试过了:

<?php echo str_replace('(','',$coords); ?>

它删除了左括号,但现在我的印象是我需要 preg_replace 来删除两者。

这是怎么做的?

帮助赞赏

【问题讨论】:

    标签: php string preg-replace str-replace


    【解决方案1】:

    尝试:

    str_replace(array( '(', ')' ), '', $coords);
    

    【讨论】:

    • 请注意,这可能会产生意想不到的后果。例如,当 $coords = "(testing (it) o​​ut)" 结果是 "testing it out" 而不是 "testing (it) o​​ut";一种更安全的方法可能是按照 Sarfraz 的建议使用 trim() 。 str_replace 仅适用于此示例,因为没有多个括号。
    【解决方案2】:

    如果括号总是在开始和结束时出现,您可以轻松使用trim

    $coords = trim($coords, '()');
    

    结果:

    51.50972493425563, -0.1323877295303646
    

    【讨论】:

    • 这只是删除 ) 括号。
    【解决方案3】:
    echo str_replace(
         array('(',')'), array('',''), 
         $coords);
    

    或者只是做两次 str_replace....

    echo str_replace(')', '', str_replace('(','',$coords));
    

    【讨论】:

      【解决方案4】:

      我认为您需要在此处将坐标写为字符串,否则会出现语法错误;)。无论如何,这是我认为的解决方案。

      $coords = "(51.50972493425563, -0.1323877295303646)";
      
      $aReplace = array('(', ')');
      $coordsReplaced = str_replace($aReplace , '', $coords);
      

      您好, 斯蒂芬

      【讨论】:

        【解决方案5】:

        这比你想象的要容易,str_replace 可以有一个数组作为第一个参数

         <?php echo str_replace(array('(',')'),'',$coords); ?>
        

        【讨论】:

          猜你喜欢
          • 2012-03-16
          • 2015-06-10
          • 1970-01-01
          • 2019-09-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-01-29
          相关资源
          最近更新 更多