2013-11-01 5 views
0

문자열의 일부를 찾고 변경하는 방법을 알고 있지만 문제는 변경해야하는 부분이 길이와 문자가 가변적이라는 것입니다.문자열 사이의 부분을 찾고 그것을 변경하십시오

예를 normaly

$string = "bla1bla2bla3textbla4bla5"; 

내가 텍스트를 필터링 폭발해야하지만, "bla3"때문에 "가 bla4"에 다른, 그러나 나는 그것을 사이에 항상 어떻게 폭발 또는 "텍스트"를 찾을 아무 생각이 없다 "bla3"및 "bla4"이지만 "text"는 bla1, 2 및 5와 같이 가변 변수입니다. "text"를 찾은 후 다른 텍스트로 바꿔야합니다.

아마도이 문제는 Google에서 발견 할 수 있지만 문제는 내가 그것을 어떻게 설명 할 수 있는지 전혀 모른다는 것입니다. explode를 사용

+1

php에 '정규 표현식'을 사용하면 'preg_replace'라는 함수가됩니다. –

+0

다른 시나리오의 3 또는 4 개의 예를 사용하여 편집 할 수 있습니까? 그런 다음 적절한 정규 표현식을 만들 수 있습니다. – brandonscript

+0

'str_replace'를 사용할 수있는 이유는 무엇입니까? – Joren

답변

0

:

$parts = explode('text',$string); //splits it into two parts, removing `text` 
$string = $parts[0] .'replacement'. $parts[1]; //glue the parts together with replacement 

str_replace 사용은 :

$string = str_replace('text','replacement'); 

그리고 당신의 문제를 설명하는 등 : 나는 php replace substring 같은 것을 인터넷 검색을 시도 할 것입니다.

0

이렇게하려면 preg_split()을 사용할 수 있습니다. 이것에 대한 정확한 정규 표현식을 기억할 수는 없지만 다음과 같아야합니다.

$text = preg_split("/[0-9]*/", "bla1bla2bla3textbla4bla5"); 
+0

이 경우의 표현식은'/ (bla) (3 | 4) /' –

0

확인, 몇 가지 예입니다.

$string1 = "bla1bla2bla3textbla4bla5"; 

찾기 $ 문자열에서 "텍스트"와 "예"로 교체

출력 :

$string1 = "bla1bla2bla3examplebla4bla5"; 

다른 예를

$string2 = "I bla3don'tbla4 know how to do it" 

에 "하지"발견 $ string을 "example"으로 바꾸십시오.

출력 :

$string2 = "I bla3examplebla4 know how to do it" 

다른 예를

$string3 = "textbla3textbla4text" 

찾기 "텍스트"하지만 bla3 및 bla4와 "예"로 대체 사이에있는 하나의

출력은

같은 수 갈까요
$string3 = "textbla3examplebla4text" 

희망을 통해 더 명확하게 표시됩니다. 그래서 bla3과 bla4의 일부는 동일하게 유지되지만 다른 것은 변경 될 수 있습니다.

관련 문제