如何将一个句子或字符串分成两个不同的部分?
$string = "First Name Last Name on 4/30/13";
$string = "First Name on 4/28/13";
$string = "First Name Last Name";
如何将名称和日期提取到两个不同的变量中?字符串发生变化。它有时有日期,有时没有。
如何将一个句子或字符串分成两个不同的部分?
$string = "First Name Last Name on 4/30/13";
$string = "First Name on 4/28/13";
$string = "First Name Last Name";
如何将名称和日期提取到两个不同的变量中?字符串发生变化。它有时有日期,有时没有。
最简单的方法是使用explode
,可能是这样的:
list($name, $date) = array_pad(explode(' on ', $string), 2, null);
这会将名称$name
和日期分配给$date
; 如果没有日期,$date
将是null
。
请注意一个非常愚蠢的事实,explode
如果它包含字符串,它会很高兴地分解名称' on '
。在这种情况下,这是极不可能的,因为我已经在字符串中包含了周围的空格,但是更天真的爆炸'on'
很容易用像“Marion Jones”这样的名字适得其反。
对于更高级的匹配,您必须升级到正则表达式和preg_match
.
在我看来,您需要使用正则表达式。
你可以这样做,这里是每一个的例子
<?php
$string = "First Name Last Name on 4/30/13";
print_r(explode(" on ", $string));
$string = "First Name on 4/28/13";
print_r(explode(" on ", $string));
$string = "First Name Last Name";
print_r(explode(" on ", $string));
这是输出:
Array
(
[0] => First Name Last Name
[1] => 4/30/13
)
Array
(
[0] => First Name
[1] => 4/28/13
)
Array
(
[0] => First Name Last Name
)