有没有办法从php中的array index
获取一小部分数据?
例如,我有一组数据,如:
阵列(
[title] =>我的头衔
[描述] => Lorem Ipsum只是印刷和排版行业的虚拟文本。自16世纪以来,Lorem Ipsum一直是业界标准的虚拟文本,当时一台未知的打印机采用了类型的厨房 代码:无需促销代码 开始时间:2014-07-25 00:00:00 到期日:0000-00-00 00:00:00
[link] => http://google.com )
从上面的数组的描述索引,我需要只包含
的部分代码:不需要促销代码 开始时间:2014-07-25 00:00:00 到期日:0000-00-00 00:00:00
无论文本数据中哪个部分出现这种情况。
答案 0 :(得分:2)
$myArray = array(
"title" => "My Title",
"description" => "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type
Code: No Promo Code Required Begin: 2014-07-25 00:00:00 Expire: 0000-00-00 00:00:00",
"link" => "http://www.gopjn.com/t/3-79115-101746-99698"
);
preg_match("/(Code.*Expire:\s\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2})/", $myArray["description"], $matches);
echo $matches[1];
如果您想要匹配的字符串实例不止一个,并且想要获得所有这些实例,请改用preg_match_all()。
答案 1 :(得分:1)
它可能不是最直接也不是最好的方式(正则表达可能是一个更好的主意)。但有一种方法可以做到:
$foo = explode('Code:', $myarray['description'], 1);
echo array_pop($foo);
或者也许:
$p = stripos($myarray['description'], 'Code:');
$foo = substr($myarray['description'], $p);
echo $foo;
答案 2 :(得分:0)
你可以使用 mb_substr()
echo mb_substr($myArray['description'], 0 /* 即缩进*/, 30 /即要显示的元素数/, 'utf-8 ' /编码类型/);