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

在 PHP 中将<跨度样式=“字体-粗细:粗体”>某些文本<跨度>转换为<b>某些文本</b>

在 PHP 中将<跨度样式=“字体-粗细:粗体”>某些文本<跨度>转换为<b>某些文本</b>

PHP
慕少森 2022-09-17 17:37:29
作为标题,如果我有一些html,我想去掉样式标签并将它们转换为html标签,这样才能使它成为.我怎样才能在 PHP 中做到这一点?<p><span style="font-style:italic">abcde</span><span style="font-weight:bold">abcde</span></p><p><i>abcde</i><b>abcde</b></p>我注意到,当我在CK编辑器中打开html时,这种转换是自动完成的。但我想在后端PHP中做到这一点。谢谢。
查看完整描述

3 回答

?
达令说

TA贡献1821条经验 获得超6个赞

$string = '<p><span style="font-style-italic;font-weight:bold">abcde</span><span style="font-weight:bold">abcde</span></p>';


$dom = new DOMDocument();

$dom->loadHTML($string);


$xp = new DOMXPath($dom);


$str = '';

$results = $xp->query('//span');

if($results->length>0){

    foreach($results as $result){

        $style = $result->getAttribute("style");

        $style_arr = explode(";",$style);

        $style_template = '%s';

        if(count($style_arr)>0){

            foreach($style_arr as $style_item){

                if($style_item == 'font-style-italic'){

                    $style_template = '<i>'.$style_template.'</i>';

                }

                if($style_item == 'font-weight:bold'){

                    $style_template = '<b>'.$style_template.'</b>';

                }

            }

        }

        $str .= sprintf($style_template,$result->nodeValue);

    }

}

$str = '<p>'.$str.'</p>';


查看完整回答
反对 回复 2022-09-17
?
长风秋雁

TA贡献1757条经验 获得超7个赞

您还可以在 php 参数下使用 html 标记,或者像这样使用 php 开始和结束标记


<?php

    echo"<h1>Here is Heading h1 </h1>"; 

 ?>

或者你可以把你的html代码放在“ ”后回声像这样


<?php 

echo"Your Html Code Here";

      ?>


查看完整回答
反对 回复 2022-09-17
?
开心每一天1111

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

$output = preg_replace('/(<[^>]+) style=".*?"/i', '$1', $input);

匹配一个跟随一个或多个,直到空间来临并且到达。将使用大写样式,如果标记不包含 ,则将标记保留原样。对于单引号,请使用以下内容:<>style="anything"/i$1style=""style=''

(<[^>]+) style=("|').*?("|')


查看完整回答
反对 回复 2022-09-17
  • 3 回答
  • 0 关注
  • 111 浏览

添加回答

举报

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