Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:120409 Return-Path: Delivered-To: mailing list internals@lists.php.net Received: (qmail 74877 invoked from network); 27 May 2023 21:11:42 -0000 Received: from unknown (HELO php-smtp4.php.net) (45.112.84.5) by pb1.pair.com with SMTP; 27 May 2023 21:11:42 -0000 Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id CCE951804F8 for ; Sat, 27 May 2023 14:11:41 -0700 (PDT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=0.6 required=5.0 tests=BAYES_50,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no autolearn_force=no version=3.4.2 X-Spam-ASN: AS15169 209.85.128.0/17 X-Spam-Virus: No X-Envelope-From: Received: from mail-ed1-f51.google.com (mail-ed1-f51.google.com [209.85.208.51]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Sat, 27 May 2023 14:11:41 -0700 (PDT) Received: by mail-ed1-f51.google.com with SMTP id 4fb4d7f45d1cf-5147e40bbbbso2570604a12.3 for ; Sat, 27 May 2023 14:11:41 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685221900; x=1687813900; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:from:to:cc:subject:date :message-id:reply-to; bh=wTwV/rS0RqQ9eKdv923FZ9p3gxBEYdfrkWFYqXR2AOE=; b=JRRzONXWczmEL4nZsggMaB5ZOQdlo+ZbthCu9Wmvq3SEEaX9Y34YK/jkUAYkiqslcE aJd1FCmYAC4gFkZbSio1dMvQMcQ93a7K+H6SUTqmuThyPu/AhMypcgNJL+BJRXKsVhCf Vb2eFXwvVLUgUrkpm7SDW+zr1E3AGQvarHFJ8Ea48xOXQ4vLV7fSsXxssIadLbL7K3gl Fz04h6EWk9MTa0Pm8bC/hkQLpAlfhPjNTxma3YFvLvrl2Sa2L0DAPqjYwVc5O0sHSvqg qaXCW3+snhywEuvXH+U5Y8m2bJzUg5/8Ob/BT9BYjsmGwSNAHS1Nh+7sF/0iJ3CxywmP lZiw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685221900; x=1687813900; h=content-transfer-encoding:subject:from:to:content-language :user-agent:mime-version:date:message-id:x-gm-message-state:from:to :cc:subject:date:message-id:reply-to; bh=wTwV/rS0RqQ9eKdv923FZ9p3gxBEYdfrkWFYqXR2AOE=; b=Q0nj8JY4iONDB2aFKipQ3FHB5inE1KWJtjF8nbvE3rhMXsMfEikl6gkkgaeHcoUp3w pFeiwsD4fDR3xj3za74WZ94XzORX0x8l2i1IRjN7IrF/3ae14XIL+KHRwStOVEKl9NWh hqOfEeqIGMT51h24Tux59nF6bMgv31B7uI49JIh6zuCBOLyhUh1m+p66ZbdZB/dwdbMU 9EBzIqUzJUArRJ3y1OuGuaX5pI4Yh6NuE9elrNQNj3VZ/G3F8bysmmzKKweZSXmBoZq5 QAejqE/9i25G5fKcuF8DKE4c1VYL4bI5Bj+s/yTDIMG/2qSe3Y68Uku920+cx2TdZ61v 3a5w== X-Gm-Message-State: AC+VfDzW2ASwcavICD1dgY6EocwVoY6MK1+OI/2y6cUZSuJzKZqYDA6q HOehTnvczMFXWf3qsXY/hYxbWTt1fL8= X-Google-Smtp-Source: ACHHUZ4s1bflFsbNAbWdxAcwTl36uZy7AXtYEktAOL+Ab5uW2MzebqOkrKQNxH9KVajVHmYqUgIXHw== X-Received: by 2002:a05:6402:34c:b0:514:90e0:99b7 with SMTP id r12-20020a056402034c00b0051490e099b7mr1960262edw.5.1685221900138; Sat, 27 May 2023 14:11:40 -0700 (PDT) Received: from ?IPV6:2a02:1811:cc83:eef0:7bf1:a0f8:a9aa:ac98? (ptr-dtfv0pmq82wc9dcpm6w.18120a2.ip6.access.telenet.be. [2a02:1811:cc83:eef0:7bf1:a0f8:a9aa:ac98]) by smtp.gmail.com with ESMTPSA id g5-20020a056402180500b0051495ce23absm311662edy.10.2023.05.27.14.11.39 for (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Sat, 27 May 2023 14:11:39 -0700 (PDT) Message-ID: <19548b21-408d-d323-d97a-5799b4b3f368@gmail.com> Date: Sat, 27 May 2023 23:11:39 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.10.0 Content-Language: en-US To: PHP internals Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit Subject: mb_ucfirst and mb_lcfirst From: dossche.niels@gmail.com (Niels Dossche) Hey internals I recently saw a comment on Reddit about the lack of a multibyte version of ucfirst and lcfirst. I was surprised to see this is indeed the case. I also checked the modes of mb_convert_case: the closest supported one is title case, but there's no mode for only handling the first letter. I have two questions (and some sub-questions): Does anyone know if there is a historical reason for this? A quick search on externals.io didn't provide something useful. Do you think this is useful? If yes, do you think this should be part of mb_convert_case or should this be a standalone function? Kind regards Niels