Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:128767 X-Original-To: internals@lists.php.net Delivered-To: internals@lists.php.net Received: from php-smtp4.php.net (php-smtp4.php.net [45.112.84.5]) by lists.php.net (Postfix) with ESMTPS id 45C201A00BC for ; Thu, 2 Oct 2025 08:31:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=php.net; s=mail; t=1759393785; bh=JKmpcIYZiNeRsgLDcJtLOMEN+ULKpTvVaM5HdaOCmPQ=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=dJxCwbZOBnlziDL1sbtEtMxOaSmQgWPgXXIdZ0xaQxzOkAtlC8npBCcjvX7KbDA8e bZTUv6DzejmMultGAe8cNuEV8Um17+lr8Sq19eUrp9eQ3WaxyNfawltcLsU/KRY0BS eU3PCpqVKIS1geEWF72N5TCEZCGZvCcyeRmK3ljuY1ORPm5wQNzIanjm8/860b3JOw g/ojKeOB885prUn9m/UWt0CwmzZp6a/ANsSYcm1zpfCcP3wZChGTz4aJsP7yvJgc85 9TQrw9IK0/kFI2RFIzMbTFmjUDvq8/loc0xfs/AOjELwvJjEPLzxblWDdtakq+nugu bJhEidH0LzsZA== Received: from php-smtp4.php.net (localhost [127.0.0.1]) by php-smtp4.php.net (Postfix) with ESMTP id 62EFF1801E6 for ; Thu, 2 Oct 2025 08:29:41 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on php-smtp4.php.net X-Spam-Level: X-Spam-Status: No, score=-0.7 required=5.0 tests=BAYES_05,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,DMARC_PASS,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,RCVD_IN_MSPIKE_H2,SPF_HELO_NONE,T_SPF_TEMPERROR autolearn=no autolearn_force=no version=4.0.1 X-Spam-Virus: No X-Envelope-From: Received: from mail-ed1-f53.google.com (mail-ed1-f53.google.com [209.85.208.53]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by php-smtp4.php.net (Postfix) with ESMTPS for ; Thu, 2 Oct 2025 08:29:31 +0000 (UTC) Received: by mail-ed1-f53.google.com with SMTP id 4fb4d7f45d1cf-62ec5f750f7so1246977a12.3 for ; Thu, 02 Oct 2025 01:30:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1759393848; x=1759998648; darn=lists.php.net; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=2KmcoC1kw9j0u8YY5Iss/0a5u5hCUdfy4V8xd3f9W2s=; b=UsxFbalWRxMmeYgJW+XJakYndRXjxcYrrlg9SxaB+X0KmLdLetZw8ipc9bRfPi05AB 4QtN2J9ySXhApVcId+mILPbzIblsYmNFp1kS2Nw3fGK6yLOHjyN0sbYOIb4YYDNYiTAw 6TvMbCbbQv4xPZQx750fanRVOZf+YYe4LD66KegKRDA1Ce6ldI6Qz2GeZy6yiTNqwWDS VSV7PobJC7M76yBTZaZZd6Tho4E4CKVGwlInQ58LZGKqD2Dg/sSpIGnz3tM4Eb1ma0qi J/DMEQX8CpRfzgZOGPUVrbw3Aunykul8wwxw5a2Fgw1WW9a2Fh5Bjw6IoUEih+Lrq5nn Vu0Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1759393848; x=1759998648; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=2KmcoC1kw9j0u8YY5Iss/0a5u5hCUdfy4V8xd3f9W2s=; b=i5ibBsgAmRrOy6weJKOmSLvRQR+lMRToRgqPR7C9Mo56Ny+xtTIMQSx4QuUcteoYzh qqxXUJ26f7PcE2v1VAOfKp3PAhvkzH2jAR1Y0RvUXKU1w3pEmpaL6FhXS0O7OEje4WpL dMGwC/3f6Ss1Tq7ucf6hgkAO5KK2fw5+JePT2lwmS56j36TBzJcirIEYmWMid12/OOHg 3r5OX/5ZkjTsi92v4bJBKy7hC9lM7exhcJFOfPXurbvvhQkHZzkhZs8yqWULFqvsBPM4 Q/yUFfF1TiA6dJ6S/FMj4caT7R+GCmAscHqLVipNQqEg5mhGHWFSLRWKpVQ6sjrTW+CK Xm1w== X-Gm-Message-State: AOJu0Yy0Azd7DXjHHGAGonIDAPISWP+lNiAbX/3z6t9a20MnZzfHLbej zTFah7prK+IJ0n9RZq9WpVcJNTM8Rhw1jtu6RFVwPBWDJrmSc8CKT2uMDJKDlY3mQdvEvpXBSp0 9a30B9WHiMxYOCDy9y8ac9TrG0h23kPM= X-Gm-Gg: ASbGncs5NR0JNXI+3O4FzK3IfxrZtjnbjrhtIYz1JZC/GDCr2F+S10RpGhs4Cd/KlSN mDlWTL/jdUeJDhoh9hHujxR0YlHUMifo1T2QDNyslM+PVWDocgMfOvHQMVIxPyPrzxyTI4O9cK3 hszg3MS+E8pfd8obng2MPhsb++yZx8Pghh0if7w0jbekldfPtNWYU5rfY45w+Pkm1Jzxpt83H4L 9ac1nB/Ba5kk6geV28vh+KkhdazN9d0nHRPyVJSE7uu+ztznhV1CI9yPRCDt91t X-Google-Smtp-Source: AGHT+IE03RlNaMb0zUT9+qrMxL/+7Ztp5eJOLPRBv8swjls/UuSVKmRD8YAp93cAfUSbWFVhm7KCn4MUVoiEpcDHhKM= X-Received: by 2002:a05:6402:2355:b0:636:7c68:6e31 with SMTP id 4fb4d7f45d1cf-6367c6870cfmr5555108a12.4.1759393848418; Thu, 02 Oct 2025 01:30:48 -0700 (PDT) Precedence: list list-help: list-post: List-Id: x-ms-reactions: disallow MIME-Version: 1.0 References: In-Reply-To: Date: Thu, 2 Oct 2025 10:30:37 +0200 X-Gm-Features: AS18NWDjpnrWsQgFh5BKnnHkwCOXoJpMEGKt1Vsp4Mx6qb3A0OAEUTVwokXhHtw Message-ID: Subject: Re: [PHP-DEV] [DISCUSSION] Validating regex pattern To: Dennis Snell Cc: PHP internals list Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable From: alex.daubois+php@gmail.com (Alexandre Daubois) Hi, > function is_valid_preg_pattern( $pattern ) { > $is_valid =3D true; > > set_error_handler( function () use ( &$is_valid ) { $is_valid =3D= false; return true; }, E_WARNING ); > preg_match( $pattern, '' ); > restore_error_handler(); > > return $is_valid; > } Setting and restoring the global error handler to validate a pattern is exactly what I would qualify as clunky/hacky. Also this requires internal knowledge on how this works, which feels very wrong for something like that. =E2=80=94 Alexandre Daubois