我在SO上读过几个答案,其中一个建议我做以下操作,但结果是array
。
基本上我们在搜索结果上,我们有:
$term = $_GET['s'];
如果我echo $term;
我得到America 2018
,而我希望:{/ p>
Location: America
Time: 2018
我尝试使用爆炸:
$term = explode("\n", $term); echo $term;
但结果为Array
答案 0 :(得分:6)
preg_replace
时无需爆炸。例如:
$str = "America 2018";
$result = preg_replace("/([A-z]+) (\d+)/", "Location: $1\nTime:$2", $str);
echo $result;
<强>故障:强>
/([A-z]+) (\d+)/
([A-z]+)
[A-z]+
+
量词 - 在一次和无限次之间匹配,尽可能多次,根据需要回馈(贪婪)A-z
A
(索引65)和z
之间的单个字符(索引122)(区分大小写)与字符字面匹配(区分大小写)(\d+)
\d+
匹配一个数字(等于[0-9]
)+
量词 - 在一次和无限次之间匹配,尽可能多次,根据需要回馈(贪婪)答案 1 :(得分:3)
您可以使用下面的代码段拆分空格并获取位置和时间:
$term = explode(" ", $term);
echo "Location: " . $term[0] . "\n Time: " . $term[1];
答案 2 :(得分:3)
他想要简单的方法..
所以这就是它(只有一行)
使其像America 2018
$term = explode("\n", $term); $term = explode(" ",$term[0])[1]." ".explode(" ",$term[1])[1]; echo $term;
使它像
Location: America
Time: 2018
$term = explode("\n", $term); $term = "Location: ".$term[0].PHP_EOL."Time: ".$term[1]; echo $term;
啦啦队