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

如何用html标签替换特殊字符

如何用html标签替换特殊字符

PHP
慕标琳琳 2023-09-22 17:09:57
我遇到了挑战,我想找到 2 个特殊字符之间的所有字符串,并用一些 html 标签替换特殊字符。例如,$str = "dog *cat* ping goat *pizza* cow rabbit*";我想要一个函数从字符串中获取 - cat 和 Pizza 然后返回$str = "dog <strong>cat</strong> ping goat <strong>pizza</strong> cow rabbit*";请注意,它cow rabbit被忽略,因为字符串中没有开头 *。我本质上想做的是根据这个 WhatsApp 文档 - https://faq.whatsapp.com/general/chats/how-to-format-your-messages/找到字符串之间的特殊格式字符并替换为 HTML相等的。我该如何实现这一目标?
查看完整描述

1 回答

?
开心每一天1111

TA贡献1836条经验 获得超13个赞

他的函数str_replace_first仅替换第一个匹配的字符串,并使用substr_count函数来了解字符串中还剩下多少特殊字符,我编写了这个简单的代码:

function str_replace_first($from, $to, $content){

    $from = '/'.preg_quote($from, '/').'/';


    return preg_replace($from, $to, $content, 1);

}


$str = "dog *cat* ping goat *pizza* cow *rabbit";


$Open_OR_Closed_Tag = false;  // this for to know what tag should put


while (substr_count($str, '*') > 1 || $Open_OR_Closed_Tag) {

    if ($Open_OR_Closed_Tag) {

        $str = str_replace_first("*", "</strong>", $str);

        $Open_OR_Closed_Tag = false;

    } else {

        $str = str_replace_first("*", "<strong>", $str);

        $Open_OR_Closed_Tag = true;

    }

}

echo $str; // dog <strong>cat</strong> ping goat <strong>pizza</strong> cow rabbit*


查看完整回答
反对 回复 2023-09-22
  • 1 回答
  • 0 关注
  • 76 浏览

添加回答

举报

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