我在一个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
一样拥有整个字符串。
任何想法?
在WooCommerce 2.6.1上尝试了以下操作
$data = explode('<br/>',$order->get_formatted_shipping_address());
注意分隔符是<br/>
而不是<br />
,您的分隔符有一个额外的空格。
作为替代,您应该使用WC_Abstract_Order
类中的魔法属性来代替explode
。
print $order->shipping_first_name;
print $order->shipping_address_1;
print $order->shipping_postcode;
这将输出字段而不经过get_formatted_shipping_address()
implode
你的代码应该可以工作,我甚至在我的机器上测试了它。把这段代码放到某个新文件中,然后测试它,看看它是否给出了想要的结果。如果是,那你就搞错了。你确定你使用了正确的变量吗?
<?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];