我在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>';
我需要函数帮助,无论出现多少次,总是用我自己的文本替换和之间的字符串。
答案 0 :(得分:1)
你试过preg_match:
preg_match('/<b>(.*?)<\/b>/i', $string, $matches);