我正在使用Wordpress网站,我希望在提交后立即获得一些订单详情。其中一个,返回一个长字符串,我想拆分并根据需要格式化它。这是一个例子:
echo $order->get_formatted_shipping_address();
My name<br />My address<br />My postcode
我尝试在<br />
中拆分字符串以使用不同位置的每个字段。我试过这样:
$data = explode("<br />", $order->get_formatted_shipping_address());
$name = $data[0];
$address = $data[1];
$post = $data[2];
但是,<br />
会保留在字符串中,$name
的字符串与$data
中的字符串一样。
有什么想法吗?
答案 0 :(得分:0)
您的代码应该可以运行,我甚至在我的机器上进行了测试。将此代码放在一些新文件中,然后测试它以查看它是否给出了想要的结果。如果确实如此,那么你在这个地方犯了一个错误。您确定使用的是正确的变量吗?
<?php
class wp {
public function get_formatted_shipping_address() {
return "My name<br />My address<br />My postcode";
}
}
$order = new wp;
$data = explode("<br />", $order->get_formatted_shipping_address());
print_r($data);
$name = $data[0];
$address = $data[1];
$post = $data[2];
答案 1 :(得分:0)
在WooCommerce 2.6.1上尝试了以下内容
$data = explode('<br/>',$order->get_formatted_shipping_address());
请注意,分隔符为<br/>
,而不是您使用<br />
时,您的分隔符会有额外的空间。
作为替代方案,您应该使用课程explode
中的magic properties而不是WC_Abstract_Order
。
实施例
print $order->shipping_first_name;
print $order->shipping_address_1;
print $order->shipping_postcode;
这将输出字段而不通过implode
get_formatted_shipping_address()