我正在使用皇家邮政邮政编码数据库,以确保我在表单上获得正确的地址详细信息。它使用相关的输入框将地址拉入我的表单。这很棒,但我想做的是在第一个输入框中,地址可能是什么 123 The Street or Apartment 29甚至HouseName The Street。我在表格中发布这些内容。
所以帖子就像$ _POST [“line1”];
怎么可能将线分成几个部分,以便我可以从地址中取出HouseNo或House Name,这样在我的下一页上我可以将它显示为HouseNo / Name&街道名称?
使用上面的示例输出echo $houseno; - 123, echo $street; - The Street
答案 0 :(得分:1)
尝试将数字和alpha分成两部分
$example = $_POST["line1"];
list($alpha,$num) = sscanf($example, "%[A-Z a-z ]%d");
echo $alpha; // address in alpha with space
echo $num; // house no
更多信息: - PHP: Best way to split string into alphabetic and numeric components
答案 1 :(得分:0)
你可以使用正则表达式来尝试分割字符。不可否认,你当时have two problems。
一般来说,你不会觉得这很容易。你发布了一些测试用例:
这里还有几点要考虑:
为什么不在皇家邮件数据库(你说你有)上提供一个界面,而不是试图处理一个自由形式的字段(字面上)成千上万的可能变体?许多网站现在提供此选项:
您仍然可以获得与皇家邮政数据库完全匹配的地址,但您现在可以让客户执行该过程中棘手的地址匹配部分。
当然,您可能仍然应该让人们输入自由格式的地址数据,因为地址数据库有时会落后于现实......