Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP,需要隐藏地址字段中的数字_Php_Regex_Preg Replace - Fatal编程技术网

PHP,需要隐藏地址字段中的数字

PHP,需要隐藏地址字段中的数字,php,regex,preg-replace,Php,Regex,Preg Replace,我正在为我们的消防部门编写一个应用程序,它将自动将呼叫数据发布到我们的网站上。出于隐私原因,我需要隐藏医疗呼叫的地址。调度提供的数据可能包含以下位置: 大街100号 第一街1555号 派出所 从字符串的开头开始,我需要搜索数字并用x替换它们,直到找到空格或字母为止。因此,我最终会: xxx大街 xxxx第一。街头 派出所 我从 $address = strtr($address, "1234567890", "xxxxxxxxxx"); 但我发现当街道是一条编号的街道(如第一街)时,我遇到了一

我正在为我们的消防部门编写一个应用程序,它将自动将呼叫数据发布到我们的网站上。出于隐私原因,我需要隐藏医疗呼叫的地址。调度提供的数据可能包含以下位置:

大街100号

第一街1555号

派出所

从字符串的开头开始,我需要搜索数字并用x替换它们,直到找到空格或字母为止。因此,我最终会:

xxx大街

xxxx第一。街头

派出所

我从

$address = strtr($address, "1234567890", "xxxxxxxxxx");
但我发现当街道是一条编号的街道(如第一街)时,我遇到了一个问题

我现在正在努力

$pattern = '/^[0-9]+/';
$replacement = 'x';
$address = preg_replace($pattern, $replacement, $address);
当我在在线正则表达式测试仪中尝试该表达式时,该表达式会起作用,但在我的代码中不会起作用。

尝试以下操作:

        $address = strtr($address, "1234567890", "xxxxxxxxxx");
//您可以将第一个结果放入如下数组:

        $array = array("xst" => "x", "xnd" => "x", "xrd" => "x", "xth" => "x");
        $address = strtr($address, $array);
//并调用数组以获得最终结果,如下所示:

        $array = array("xst" => "x", "xnd" => "x", "xrd" => "x", "xth" => "x");
        $address = strtr($address, $array);

最好保持Xs字符串的长度相同,而不考虑位数。这样就很容易猜到,例如,它是一个位数,而那条街上只有一所房子。正则表达式看起来应该有用。您确定
$address
的格式符合预期(例如前面没有空格)吗?如果删除
^
定位点,它是否仍然与第一组数字不匹配?