0
문자열의 예에서 각 상자의 각 문자를 계산괄호 안에 각 문자를 계산하는 방법
$str = 'man[big man]boy[big]guy[badforreal] and others';
예상 결과 :
당신이 (남성)
6 개 문자가당신은 (소년)에 3자를 가지고 있습니다
당신은 사람)
나는 PHP로 이것을 실제로 할 수 있습니까?
문자열의 예에서 각 상자의 각 문자를 계산괄호 안에 각 문자를 계산하는 방법
$str = 'man[big man]boy[big]guy[badforreal] and others';
예상 결과 :
당신이 (남성)
6 개 문자가당신은 (소년)에 3자를 가지고 있습니다
당신은 사람)
나는 PHP로 이것을 실제로 할 수 있습니까?
you have 6 characters for (man)
you have 3 characters for (boy)
you have 10 characters for (guy)
확장 preg_match_all
솔루션 :
$str = 'man[big man]boy[big]guy[badforreal] and others';
preg_match_all('/([^\s\[\]]+)\[([^\[\]]+)\]/', $str, $matches);
if (isset($matches[1])) {
foreach ($matches[1] as $k => $m) {
printf("%s characters for (%s)\n", strlen(str_replace(" ", "", $matches[2][$k])), $m);
}
}
출력 :이
$array = explode("]", $str);
foreach ($array as $string){
if(strpos($string, '[') !== false){
$strLabel = strstr($string, '[', true);
$newStr .= "you have " . strlen(str_replace(["["," "], "", strstr($string, '['))) ." characters for (" . $strLabel .")<br/>";
}
}
echo $newStr;
예상 출력을 시도 할 수 있습니다
6 characters for (man)
3 characters for (boy)
10 characters for (guy)
PHP로 해결해야합니까? – SindreKjr
코드를 작성하려고 시도한 적이 있습니까? – RomanPerekhrest
@Basillicum 네가 이해한다면 네가 고마워. – examma