使用Colon(:)和Break(<br/>)拆分句子

时间:2017-01-20 10:04:03

标签: php regex

输入

gs

预期输出 - 拆分后,将字符串存储在一个数组中,比如$ Output

<?php
$input = 'After <span style="color:green;">10</span> years : XYZ 38.38 <br><span style="font-size:11px;"><strong>AB212</strong> is applicable on 2025</span>';
?>

任务

  

使用冒号 $Output[0] = 'After <span style="color:green;">10</span> years'; $Output[1] = 'XYZ 38.38'; $Output[2] = '<span style="font-size:11px;"><strong>AB212</strong> is applicable on 2025</span>'; 和中断:拆分句子。我从stackoverflow搜索中获得了很多选项,并且使用<br>explode成功完成了它。

     

我想使用单个内置函数简化程序,我正在尝试preg_split

我的尝试

preg_split

1 个答案:

答案 0 :(得分:0)

要用一个空格包围的冒号拆分字符串,并用一个空格包围的<br>标记可能,您可以使用以下表达式:

/\s:\s|\s?<br>\s?/g

在此表达式中,|字符表示与字符串中的左侧和右侧(即\s:\s\s?<br>\s?)匹配。从技术上讲,它充当逻辑OR 请注意在正则表达式末尾使用全局修饰符。

您可以在this demo page上获得更多信息。

使用您的代码,它将是:

$output = preg_split('/\s:\s|\s?<br>\s?/g', $input)

$output数组将包含您可以根据需要使用的字符串:

After <span style="color:green;">10</span> years
XYZ 38.38
<span style="font-size:11px;"><strong>AB212</strong> is applicable on 2025</span>