PHP preg_replace 帮助 trim 特殊字符

PHP preg_replace help trim special characters

我试图四处搜索,但找不到任何有用的东西。我需要 trim 字符串开头和结尾的特殊字符,并确定剩余部分是否为数字。

例如

(5)
[[12]]
{3}
#!8(#
!255=
/879/

我需要一个 preg_match 表达式。如果中间有任何字母,则正则表达式应忽略该字符串。

^(?!.*[a-zA-Z])\W*(\d+)\W*$

您可以使用它。Lookahead 将验证 是否只有数字 there.Replace。参见演示。

https://regex101.com/r/cT0hV4/2

$string="yourstring";
$new_string=preg_replace('/[^A-Za-z0-9]/', '', $string);
if(is_numeric($new_string){
    echo "number";
} else {
    echo "string";
}