为了账号安全,请及时绑定邮箱和手机立即绑定

PHP 获取标签之间的文本 + 标签本身

PHP 获取标签之间的文本 + 标签本身

有只小跳蛙 2023-12-19 10:28:08
我想获取 [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);

}


查看完整回答
反对 回复 2023-12-19
  • 1 回答
  • 0 关注
  • 40 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信