【问题标题】:Remove string using preg_replace. Is there any other alternative?使用 preg_replace 删除字符串。还有其他选择吗?
【发布时间】:2013-08-17 06:50:55
【问题描述】:

我需要根据简单的special characters like _ and | 定期删除字符串的某些部分。这是我的代码:

<?php
$text = "a*a1.zip,a2.zip|b*b1.zip|c*c1.zip|d*d1.zip|e*e1.zip|f*f1.zip|g*g1.zip|h*h1.zip";
$expl = explode("|", $text);
print_r($expl);
?>

我需要删除所有alphabets and *'s, |'s,这样我的输出应该如下所示:

a1.zip,a2.zip,b1.zip,c1.zip,d1.zip,e1.zip,f1.zip,g1.zip,h1.zip

我正在尝试使用preg_replace,但很难理解:(。还有其他选择吗?提前谢谢...

【问题讨论】:

    标签: php string replace preg-replace


    【解决方案1】:

    您可以改用preg_match,但您仍然需要正确地使用正则表达式,因此不一定会更容易。如果您希望使用不带正则表达式的内容,请尝试使用双 explode

    $text = "a*a1.zip,a2.zip|b*b1.zip|c*c1.zip|d*d1.zip|e*e1.zip|f*f1.zip|g*g1.zip|h*h1.zip";
    $expl = explode("|", $text);
    foreach ($expl as $part) {
        // PHP 5.4+
        $values[] = explode('*', $part)[1];
    
        // OR PHP < 5.4
        $tempvar = explode('*', $part);
        $values[] = $tempvar[1];
    
        // Choose one of the above, not both
    }
    $string = implode(',', $values);
    

    【讨论】:

      【解决方案2】:

      试试这个。我没有测试这个。但你可以得到一个提示

      <?php
          $text = "a*a1.zip,a2.zip|b*b1.zip|c*c1.zip|d*d1.zip|e*e1.zip|f*f1.zip|g*g1.zip|h*h1.zip";
      
      
          $expl = explode("|", $text);
      
          // YOU HAVE TO REMOVE a*, b*, c* which will be the first 2 characters after exploding. avoid this first 2 characters using substr
      
          foreach($expl as $key=>$value) {
      
              $result[]   = substr($value,2);
      
          }
      
          $result_string = implode(',', $result);
      
          ?>
      

      【讨论】:

        【解决方案3】:

        单班不带preg_

        $result_string = implode(',',array_map(function($v){return substr($v,strpos($v,'*')+1);},explode('|',$text)));
        

        【讨论】:

          猜你喜欢
          • 2023-02-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-08-22
          • 2011-04-21
          • 1970-01-01
          相关资源
          最近更新 更多