如何用php分隔特定单词的句子?

时间:2013-04-30 20:43:14

标签: php

如何将句子或字符串分成两个不同的部分?

$string = "First Name Last Name on 4/30/13";
$string = "First Name on 4/28/13";
$string = "First Name Last Name";

如何将名称和日期提取为两个不同的变量?字符串改变了。它有时在日期,有时没有。

3 个答案:

答案 0 :(得分:1)

最简单的方法是使用explode,也许是这样:

 list($name, $date) = array_pad(explode(' on ', $string), 2, null);

这会将名称指定为$name,将日期指定给$date;如果没有日期,$date将为null

请注意explode非常愚蠢的事实,如果名称包含字符串' on ',则会很乐意将其分解。在这种情况下,这是非常不可能的,因为我已经在字符串中包含了周围的空格,但'on'上更天真的爆炸很容易适应“Marion Jones”之类的名称。

要获得更高级的匹配,您必须最多升级到regular expressionspreg_match

答案 1 :(得分:0)

我觉得你需要使用正则表达式。

查看preg_matchRegular Expressions的文档。

答案 2 :(得分:0)

你可以这样做,这里有一个例子

<?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
)