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