여기에 제가하려고하는 것이 있습니다. 페이지에 제목이 있습니다. 나는 각 문자열의 첫 번째 단어의 마지막 글자를 대문자또 다른 대문자 사용 질문
예를하려고 해요 : 안녕하세요을
안녕하세요을 얼마나
나는 한 단어하지만 작업을 얻을 수하나 이상의 단어가있는 경우 어떻게하는지 알아낼 수 없습니다. 어떤 도움이 좋을지 !!
감사합니다.
여기에 제가하려고하는 것이 있습니다. 페이지에 제목이 있습니다. 나는 각 문자열의 첫 번째 단어의 마지막 글자를 대문자또 다른 대문자 사용 질문
예를하려고 해요 : 안녕하세요을
안녕하세요을 얼마나
나는 한 단어하지만 작업을 얻을 수하나 이상의 단어가있는 경우 어떻게하는지 알아낼 수 없습니다. 어떤 도움이 좋을지 !!
감사합니다.
더보기 어떤 기능에 대한 읽으려면 첫 단어를 구한 다음 알고리즘을 입력하십시오.
"/^(\w+)/"
preg_replace_callback
을보십시오.preg_replace_callback : http://php.net/manual/en/function.preg-replace-callback.php
UPDATE - 작업 코드 :
$string = "This is a test";
$string = preg_replace_callback(
'/^(\w+)/',
create_function(
'$matches',
'return yourUCLastAlgorithm($matches[0]);'
),
$string
);
echo $string;
UPDATE2 - 전자 수정 자와 preg_replace이다를 사용하여 :
$string = "This is a test";
$string = preg_replace(
'/^(\w+)/e',
'yourUCLastAlgorithm("$1")',
$string
);
echo $string;
lamda 함수를 사용하는 정규 표현식이 일반 함수를 사용하여 수행 할 수있을 때 약간 과잉이라고 생각하지 않습니까? –
또 다른 생각 : e 수정 자와 함께 preg_replace 사용. –
일반적으로 나는 항상 사용자 지정 분할 솔루션에 대해 regexps를 사용하려고합니다. –
을이 시도 :
$string = preg_replace('/^([ ]+)?([^ ]*)([a-z])?(.*)?$/i', "$1.$2.strtoupper($3).$4", $string);
,536,
필요하지 않은 경우 정규 표현식을 사용해야하는 이유는 무엇입니까? 그것도 너무 비싸 –
이것이 처음 생각 이었기 때문에 ^^ ' –
'이것은 테스트'=>'.This.strtoupper()입니다. 테스트입니다'게시하기 전에 확인하십시오. –
왜 이런, 그것은 정상적인 문법입니다. –
현재 가지고있는 코드를 보여주십시오. – Matt