在PHP中拆分地址行
我正在使用英国皇家邮政的邮政编码数据库,以确保我在表格上获得正确的地址详细信息。它使用相关的输入框将地址拉入我的表单。这是伟大的,但我想做的是在第一个输入框的地址可能是什么 123街道或公寓29或甚至房屋命名街道。我把这些贴在我的表格里 因此,post类似于$_post[“line1”] 如何将行拆分为多个部分,以便我可以从地址中提取HouseNo或House Name,以便在下一页中显示HouseNo/Name&Street Name 使用上述示例,输出在PHP中拆分地址行,php,Php,我正在使用英国皇家邮政的邮政编码数据库,以确保我在表格上获得正确的地址详细信息。它使用相关的输入框将地址拉入我的表单。这是伟大的,但我想做的是在第一个输入框的地址可能是什么 123街道或公寓29或甚至房屋命名街道。我把这些贴在我的表格里 因此,post类似于$_post[“line1”] 如何将行拆分为多个部分,以便我可以从地址中提取HouseNo或House Name,以便在下一页中显示HouseNo/Name&Street Name 使用上述示例,输出echo$houseno;-回声街123
echo$houseno;-回声街123号街道
您可以使用正则表达式尝试拆分字符。不可否认,你那时会后悔的
一般来说,你不会发现这很容易做到。您已经发布了一些测试用例:
- 街道123号
- 29号公寓
- “果园”
- 沿街走
- 公寓B
当然,您可能仍然应该让人们输入自由格式的地址数据,因为地址数据库有时比实际情况落后几步…尝试将其分为数字和字母两部分
$example = $_POST["line1"];
list($alpha,$num) = sscanf($example, "%[A-Z a-z ]%d");
echo $alpha; // address in alpha with space
echo $num; // house no
更多信息:-为地址行2提供另一个表单元素
explode($\u POST['line1'],'')
也许?你尝试了什么?谢谢你的回复,我应该解释一下我想用地址分割做什么。我有能力让客户输入他们的邮政编码,然后使用选择选项搜索他们的地址,正如您上面所说的。我想做的是在我的下一页使用门牌号创建一个带有邮政编码的工作编号,例如,如果Line1是123街,邮政编码是T1 3ST,那么我的工作编号将是123T1 3ST。这就是我想要实现的。谢谢。这更有道理。如果只需要提取一个连续的数字块,那么可以使用以下正则表达式:(\d+)
,然后附加邮政编码。不过,我可能会提醒大家不要这样做。如果你有三套相同号码的公寓怎么办?多个办事处共用同一号码的业务地址如何?如果同一客户不止一次订购,那么工单编号是否可以相同?我有一个工单类型的下拉选项,因此这将构成工单编号的开头,以便我可以在不同的工单类型上拥有相同的客户