首页 > 解决方案 > 从字符串php中提取一些数据

问题描述

快速问题轻松剪断字符串。我知道 substr 但我不能在我的情况下使用它。

例如,我有这条丁字裤:“1 rue Maryse Bastie 69500 BRON”在这种情况下,我想说“在数字之前获取所有结尾”并获取数字。我想要不同变量中的城市和邮政编码。

我正在使用的 API 返回完整的地址,但我想删除以将城市和邮政编码保存在不同的表中。

我认为这个主题可以帮助我:Extracting a zip code from a address string but not to get the city。

例如,如果我有1 rue Maryse Bastie 69500 BRON 我想要 $city = "BRON" 和 $pc = "69500"

如果我有13 rue Hohwald 67000 Strasbourg 我想要 $city = "Strasbourg" 和 $pc = "67000"

谢谢

标签: phpextract

解决方案


我给你一个解决方法,它应该完全有效,但也许你必须改进它:

$test = '1 rue Maryse Bastie 69500 BRON';
\preg_match('/\b\d{4,5}.+$/i', $test, $out);
$output = \explode(' ', \trim($out[0]), 2);
var_dump($output);
/*
array(2) {
  [0]=>
  string(5) "69500"
  [1]=>
  string(4) "BRON"
}
*/

在上面的代码中,我们使用正则表达式来查找这种方式:

  • 查找数字(许多字符 --> 4 或 5 五个法国邮政编码)
  • 查找邮政编码旁边的所有字符,直到最后

接下来我们删除开头和结尾的空格,然后我们拆分成一个数组。


推荐阅读