在PHP中提取字符串的一部分,最多提取一个特定字符


Extracting part of a string up to a specific character in PHP

我有一个包含名称和地址行的字符串,用<br />标记分隔名称和每个地址行。例如:

John Smith<br />999 Somewhere Lane<br />City, FL 66600

我想使用PHP将名称与地址的其余部分分开。这是可以做的事情吗?

使用strpos 爆炸或子字符串

$str = 'John Smith<br />999 Somewhere Lane<br />City, FL 66600';
echo substr($str,0,strpos($str,'<br />')); //John Smith

在这种特殊情况下,最简单的方法是使用爆炸:

$str = 'John Smith<br />999 Somewhere Lane<br />City, FL 66600';
$tmp = explode('<br />', $str);
$name = $tmp[0];

当然,您可以使用regex,但这更简单。

这应该会为您提供数据,即使它看起来像<br>, <br/> <br />等。

$text = "John Smith<br />999 Somewhere Lane<br />City, FL 66600"
$data = preg_split("/'<br('s+)?('/)?'>/", $text);
print_r($data);
Array
(
    [0] => John Smith
    [1] => 999 Somewhere Lane
    [2] => City, FL 66600
)