我是新手preg_replace。我有以下表达式,我想用字符串中的数字0-9替换 #。它返回相同的字符串而没有更改,我哪里出错了?我尝试了谷歌,但仍然找不到解决方案。谢谢。
$phonenumber = "0720123456";
$format = trim(preg_replace("/[^0-9]/", "#", $phonenumber));
我是新手preg_replace。我有以下表达式,我想用字符串中的数字0-9替换 #。它返回相同的字符串而没有更改,我哪里出错了?我尝试了谷歌,但仍然找不到解决方案。谢谢。
$phonenumber = "0720123456";
$format = trim(preg_replace("/[^0-9]/", "#", $phonenumber));
[^0-9]将匹配除数字之外的任何内容。
您需要使用[0-9]或快捷方式\d:
$format = trim(preg_replace("/\d/", "#", $phonenumber));
只需/[0-9]/用作您的正则表达式。
您的表达式/[^0-9]/意味着替换任何字符,但不是(通过^)数字。
例子:
<?php
header('Content-Type: text/plain; charset=utf-8');
$phonenumber = "0720123456";
$format = trim(preg_replace("/[0-9]/", "#", $phonenumber));
echo $format;
?>
结果:
##########