Tek bir husul kolon ve önce ve sonra beyaz boşlukları kaldırmak için nasıl bir dizi, verilen

3 Cevap php

Array örneği entry:

test : title=Diet    Coke

Oldu

test:title=Diet Coke

3 Cevap

Düzenli ifade kullanarak bu yaklaşım, sadece bir dize kolları, ancak bir dizi yapmak istiyorsanız, sadece dizi üzerinden yineleme ve her dize için bu geçerlidir:

$target="test : title=Diet    Coke";
print_r(preg_replace('/\s*([\s:])\s*/','\1',$target));

Çıktı:

test:title=Diet Coke

Ben bir regex gurusu değilim, ama bu genel bir fikir:

$my_array = array('test : title=Diet    Coke');

function do_crazy_thing($string){
  $string = preg_replace('/  +/', ' ', $string);
  $string = preg_replace('/ : /', ':', $string);
  return $string;
}

$my_array = array_map('do_crazy_thing', $my_array);

EDIT: sadece bu test edilmiş ve ince iş gibi görünüyor var.

olmayan regex yolu,

$string= "test : title=Diet    Coke";
$s = explode(":",$string);
$s[0]=trim($s[0]);
$s[1]=trim($s[1]);
print implode(":",$s);