我想获取 [tag] 和 [/tag] 之间的所有文本(包括标签)。所以这句话。The cat said [tag]hi to dog[/hi] at the park.使用这个功能。function get_string_between($string, $start, $end){ $string = ' ' . $string; $ini = strpos($string, $start); if ($ini == 0) return ''; $ini += strlen($start); $len = strpos($string, $end, $ini) - $ini; return substr($string, $ini, $len);}我可以返回标签之间的文本。但我也想要标签。基本上,我想扫描文本中的标签,以确保有开始标签和结束标签。然后允许我编辑内容和标签。因此,如果文本周围存在 [tag] 和 [/tag],请将文本周围的 [tag] 和 [/tag] 更改为 和 。我可以使用 str_replace 来完成它们,但我不知道如何结合对开始标签和结束标签的搜索并替换它们。
1 回答
心有法竹
TA贡献1866条经验 获得超5个赞
尝试下面的代码,基本上你需要检测开始标签和结束标签,并根据需要在 substr 中包含标签。
function get_string_between($string, $start, $end){
$posStart = strpos($string, $start);
if (!($posStart !== false)) return '';
$posEnd = strpos($string, $end);
if (!($posEnd !== false)) return '';
$len = strlen($end);
return substr($string, $posStart, $posEnd - $posStart + $len);
}
- 1 回答
- 0 关注
- 82 浏览
添加回答
举报
0/150
提交
取消