如何获取字符串之间的所有子字符串并替换

时间:2016-05-26 12:55:56

标签: php html string

我在php中有以下字符串

<?php 

$data = 'The good <b>PEOPLE LIVES LONG</b>. The bad <b>PEOPLE DIES FAST</b>';
   ?>

我想在 标记之间提取部分,并用我自己的文本替换它。这是我用来获取 标签之间文本的函数。

function GetStringBetween ($string, $start, $finish) {
$string = " ".$string;
$position = strpos($string, $start);
if ($position == 0) return "";
$position += strlen($start);
$length = strpos($string, $finish, $position) - $position;
return substr($string, $position, $length);
}

如果我用

调用该函数
    GetStringBetween ($data, '<b>', '</b>')

当数据是

时它起作用
    $data = 'The good <b>PEOPLE LIVES LONG</b>.';

但是当数据包含更多对 时,它就不起作用,即

     $data = 'The good <b>PEOPLE LIVES LONG</b>. The bad <b>PEOPLE DIES FAST</b>';

我需要函数帮助,无论出现多少次,总是用我自己的文本替换之间的字符串。

1 个答案:

答案 0 :(得分:1)

你试过preg_match:

preg_match('/<b>(.*?)<\/b>/i', $string, $matches);