2014-04-11 3 views
2

필자는 PHP 문자열 함수에 익숙하지만 원하는대로 할 수는 없습니다. 내가 성취하고자하는 것은 발견 한 문자열 앞뒤에 22 문자를 반향시키는 것입니다. 나는 문자열의 길이뿐만 아니라 문자열의 시작 위치를 찾을 수있다 ... 나는 이것이 내가 필요로하는 것을 성취하는데 유용 할 것이라고 생각한다. 예를 들어, "hello"문자열을 찾습니다. 나는 반향하고 싶다 "이것은 안녕하세요의 예입니다. substr()이이를 수행합니까?문자열 앞뒤에 문자를 반향 출력하려면 어떻게합니까?

$var2 = 'hello'; 
$startingpos = strpos($var1, $var2)); 
$strlength = strlen($var2); 

UPDATE : 나는 내 문제에 대한 해결책을 발견했습니다

$additional_length = 2; 
$startingpos = strpos($var1, $var2)); 
$strlength = strlen($var2); 
if (($startingpos - $additional_length) < 0) 
    $start = 0; 
else 
    $start = $startingpos - $additional_length; 
echo substr($var2, $start, ($strlength + (2* $additional_length))) 
+2

에코 않는 str_replace ($ var에, '이것은의 예입니다'$ var에 '어떻게 일을 ????', $ var에..) –

+0

'sprintf' 또는'vsprintf' 누구입니까? –

답변

1

당신은 쉽게 문자열 내부에 일정하게 설정 한 다음 않는 str_replace 함수로 대체 : 아래 참조하십시오. 예를 들어

:

$ 결과 = 않는 str_replace는 ("[FOUND]", "안녕하세요", "이 방법이하고있는 [발견]이라는의 예입니다");

근무 예 :

function.onl/str_replace("[FOUND] ","안녕하세요 ","이 [] 어떻게) "하고있는 개를 찾았의 예입니다;

Demo

+0

감사합니다. 나는이 문제에 관한 모든 것을 정했다. – user3452136

관련 문제