直接上代码,根据需求自行更改~
function get_word($str, $start, $end)
{
$wd = '';
$pat = '/'.$start.'(.*?)'.$end.'/s';
if (preg_match_all($pat, $str, $mat)) {
$wd = $mat[1][0];
} else {
// 如果只存在《或》,则单向截取
if (checkstr($str, $start)) {
$str = get_word($str.$end, $start, $end);
}
if (checkstr($str, $end)) {
$str = get_word($start.$str, $start, $end);
}
$wd = $str;
}
return $wd;
}
// 判断是否含有某字符串
function checkstr($str, $needle)
{
$tmparray = explode($needle, $str);
if (count($tmparray) > 1) {
return true;
} else {
return false;
}
}
$str = '《哥斯拉2:怪兽之王》巨兽再崛起惊爆眼球';
$str1 = '哥斯拉2:怪兽之王》巨兽再崛起惊爆眼球';
$str2 = '《哥斯拉2:怪兽之王巨兽再崛起惊爆眼球';
var_dump(get_word($str, '《', '》'));
var_dump(get_word($str1, '《', '》'));
var_dump(get_word($str2, '《', '》'));
// 执行结果
string(25) "哥斯拉2:怪兽之王"
string(25) "哥斯拉2:怪兽之王"
string(52) "哥斯拉2:怪兽之王巨兽再崛起惊爆眼球"