배열 예제 항목 : 나는 정규식 전문가가 아니에요배열을 감안할 때, 단발 콜론 (&) 앞뒤에있는 공백을 제거하고 다른 여러 공백을 하나의 공백으로 만드는 방법은 무엇입니까?
test:title=Diet Coke
배열 예제 항목 : 나는 정규식 전문가가 아니에요배열을 감안할 때, 단발 콜론 (&) 앞뒤에있는 공백을 제거하고 다른 여러 공백을 하나의 공백으로 만드는 방법은 무엇입니까?
test:title=Diet Coke
정규 표현식을 사용하는이 방법은 하나의 문자열을 처리하지만, 당신이 배열을 수행하려는 경우, 그냥 배열을 반복하고 각 문자열이 적용
$target="test : title=Diet Coke";
print_r(preg_replace('/\s*([\s:])\s*/','\1',$target));
출력 :
test:title=Diet Coke
test : title=Diet Coke
가되고, 그러나 이것은 일반적인 생각이다 :
$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);
이 편집 : 그냥이를 테스트하고있다 잘 작동하는 것 같습니다.
foreach ($a as $k=>$v) {
$v = preg_replace("`\s*:\s*`", ":", $v);
$a[$k] = preg_replace("`\s*`", " ", $v);
}
비 정규식 방법,
$string= "test : title=Diet Coke";
$s = explode(":",$string);
$s[0]=trim($s[0]);
$s[1]=trim($s[1]);
print implode(":",$s);
콜론 뒤에 공백을 줄이려면 $ s [1] = trim ($ s [1]); with : $ s [1] = implode ("", array_map ("trim", explode (", $ s [1]))))); 저는 컴퓨터 실습실에 있으며 PHP는 여기에 설치되어 있지 않으므로 실제로 작동하는지는 잘 모르겠지만 잘하면 당신은 그 아이디어를 얻었을 것입니다. – Roman
콜론이 아닌 세미콜론을 의미합니까? –
코드를 추가 할 수 있습니까? –
콜론 앞뒤에 정확히 하나의 공백이 있는지, 예를 들어 앞뒤에 공백이 없을 수 있습니까? –