2012-01-23 4 views
8

다음 문자열이 있고 str_replace 또는 preg_replace를 사용하여 대괄호를 제거하고 싶지만 방법이 확실하지 않습니다. str_replace를 사용하여 여는 괄호를 제거 할 수 있었지만 닫는 괄호는 제거 할 수 없습니다.PHP에서 문자열에서 대괄호를 제거하는 방법?

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

나는 시도했다 :

은 고통이다 나는 모두를 제거 preg_replace이다 필요 인상을 지금 여는 괄호를 제거하지만, 나는
<?php echo str_replace('(','',$coords); ?> 

.

어떻게 이런 일이 생깁니 까?

도움말로 시도

답변

37

감사 :

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

그냥 참고. 예를 들어, $ coords = "(testing (it) out)"결과는 "testing (it) out"대신 "testing out"입니다. 더 안전한 방법은 아마도 Sarfraz가 제안한 trim()을 사용하는 것입니다. str_replace는 여러 개의 괄호가 없기 때문에이 예제에서만 작동합니다. – Kelt

0

당신이 생각하는 것보다 쉽다는 않는 str_replace는 첫 번째 매개 변수로 배열을 가질 수

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

하거나 두 번 않는 str_replace 않습니다 ....

괄호는 항상 beginging과 끝에 올 경우
28

, 당신은 쉽게 trim를 사용할 수 있습니다

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

결과 :

51.50972493425563, -0.1323877295303646 
+1

더 빠름)))) –

+0

이것은 제거 전용) 대괄호입니다. – Zaheerabbas

0

난 당신이 다른 당신이 얻을 문자열로 여기 좌표를 작성할 필요가 있다고 생각 구문 오류;). 어쨌든, 이것이 내가 생각하는 해결책이다. 이 의도하지 않은 결과를 초래할 수 있다는

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

$aReplace = array('(', ')'); 
$coordsReplaced = str_replace($aReplace , '', $coords); 

접견, 스테판

관련 문제