2010-11-30 4 views
-1

다음과 같은 문자열이 있습니다 : $ string = "/ physics/mechanics/vectors/P-M-C (1) .doc";PHP의 서브 문자열 대체품

은이 같은 싶어 :

"/ 물리/기계/벡터/1-P-M-C (1)이 .doc";

"1"은 원래 문자열에서 P 바로 앞에 추가됩니다.

PHP로 가능합니까? PHP의 기능을 어떻게 사용해야합니까?

+0

당신은 항상 파일 이름에 1을 추가하고 있습니까? 아니면 괄호 안의 숫자와 일치합니까? 당신의 예제처럼 항상 문자열이 있습니까? – sberry

+0

해결하려는 근본 문제를 설명하면 누군가가 대답 할 수 있습니다. 하지만 현재 문제가 무엇인지 명확하지 않고 현재 질문에 대한 정답은 다음과 같습니다. echo/physics/mechanics/vectors/1-P-M-C (1) .doc '; 변수를 원하는 부분과 일치시키려는 부분이 무엇인지 설명하지 않았기 때문입니다. – Gerry

+0

죄송합니다. 내 문제를 잘못 해석 한 경우. – fawad

답변

0

@fawad : 다음은 샘플 당신이 시작하는 데있어 -

$oldstring = "/physics/mechanics/vectors/P-M-C (1).doc"; 
$parts = explode("/", $oldstring); 
$file = $parts[count($parts) - 1]; 

$newstring = str_replace($file, "1-" . $file, $oldstring); 
+1

이것은 제가 찾고있는 가장 좋은 일반적인 해결책입니다. – fawad

0

explode()join()을보십시오. :)

+1

'explode()'를 사용하면'join()'의 별칭 일지라도'implode()'를 사용하여 역으로 처리하는 것이 좋습니다. –

+0

좋은 지적입니다. 나는 파이썬에 너무 익숙해 보인다. :) – BastiBen

+0

이 문제에 시간을내어 주셔서 감사하지만 "stealthyninja"가 최상의 솔루션을 게시했다고 생각합니다. – fawad