pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

    <tfoot id='qqFFz'></tfoot>
  1. <small id='qqFFz'></small><noframes id='qqFFz'>

      <bdo id='qqFFz'></bdo><ul id='qqFFz'></ul>

      <i id='qqFFz'><tr id='qqFFz'><dt id='qqFFz'><q id='qqFFz'><span id='qqFFz'><b id='qqFFz'><form id='qqFFz'><ins id='qqFFz'></ins><ul id='qqFFz'></ul><sub id='qqFFz'></sub></form><legend id='qqFFz'></legend><bdo id='qqFFz'><pre id='qqFFz'><center id='qqFFz'></center></pre></bdo></b><th id='qqFFz'></th></span></q></dt></tr></i><div class="1xlr173" id='qqFFz'><tfoot id='qqFFz'></tfoot><dl id='qqFFz'><fieldset id='qqFFz'></fieldset></dl></div>
    1. <legend id='qqFFz'><style id='qqFFz'><dir id='qqFFz'><q id='qqFFz'></q></dir></style></legend>
    2. PHP 中的 htmlentities 但保留 html 標簽

      htmlentities in PHP but preserving html tags(PHP 中的 htmlentities 但保留 html 標簽)

          1. <i id='r0M1s'><tr id='r0M1s'><dt id='r0M1s'><q id='r0M1s'><span id='r0M1s'><b id='r0M1s'><form id='r0M1s'><ins id='r0M1s'></ins><ul id='r0M1s'></ul><sub id='r0M1s'></sub></form><legend id='r0M1s'></legend><bdo id='r0M1s'><pre id='r0M1s'><center id='r0M1s'></center></pre></bdo></b><th id='r0M1s'></th></span></q></dt></tr></i><div class="bvxlfvh" id='r0M1s'><tfoot id='r0M1s'></tfoot><dl id='r0M1s'><fieldset id='r0M1s'></fieldset></dl></div>
            <legend id='r0M1s'><style id='r0M1s'><dir id='r0M1s'><q id='r0M1s'></q></dir></style></legend>

            <small id='r0M1s'></small><noframes id='r0M1s'>

              <tbody id='r0M1s'></tbody>
              <bdo id='r0M1s'></bdo><ul id='r0M1s'></ul>

                <tfoot id='r0M1s'></tfoot>
                本文介紹了PHP 中的 htmlentities 但保留 html 標簽的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

                問題描述

                限時送ChatGPT賬號..

                我想將字符串中的所有文本轉換為 html 實體,但保留 HTML 標簽,例如:

                <p><font style="color:#FF0000">Camión espa?ol</font></p>

                應該翻譯成這樣:

                <p><font style="color:#FF0000">Cami&oacute;n espa&ntilde;ol</font></p>

                有什么想法嗎?

                解決方案

                您可以獲取實體noreferrer">htmlentities,帶有函數 get_html_translation_table ;考慮這個代碼:

                $list = get_html_translation_table(HTML_ENTITIES);var_dump($list);

                (您可能需要檢查手冊中該函數的第二個參數——也許您需要將其設置為與默認值不同的值)

                它會給你這樣的東西:

                數組' ' =>字符串 '&nbsp;'(長度=6)'?' =>字符串 '&ieexcl;'(長度=7)'¢' =>字符串 '&cent;'(長度=6)'£' =>字符串'&磅;'(長度=7)'¤' =>字符串 '&curren;'(長度=8)............'?' =>字符串 '&yuml;'(長度=6)'"' => 字符串 '&quot;'(長度=6)'<'=>字符串 '&lt;'(長度=4)'>'=>字符串 '&gt;'(長度=4)'&'=>字符串 '&amp;'(長度=5)

                現在,刪除您不想要的對應關系:

                unset($list['"']);取消設置($list['<']);未設置($list['>']);取消設置($list['&']);

                您的列表現在包含 htmlentites 使用的所有對應字符 => 實體,除了您不想編碼的少數字符.

                現在,您只需要提取鍵和值的列表:

                $search = array_keys($list);$values = array_values($list);

                最后,您可以使用 str_replace 進行替換:

                $str_in = '<p><font style="color:#FF0000">Camión espa?ol</font></p>';$str_out = str_replace($search, $values, $str_in);var_dump($str_out);

                你得到:

                string '<p><font style="color:#FF0000">Cami&Atilde;&sup3;n espa&Atilde;&plusmn;ol</font></p>'(長度=84)

                這看起來像你想要的 ;-)


                嗯,除了編碼問題(該死的 UTF-8,我想 - 我正在嘗試為此找到解決方案,并將再次編輯)

                幾分鐘后的第二次在調用 str_replace 之前,您似乎必須在 $search 列表中使用 utf8_encode :-(

                這意味著使用這樣的東西:

                $search = array_map('utf8_encode', $search);

                在調用 array_keys 和調用 str_replace 之間.

                而且,這一次,你真的應該得到你想要的:

                string '<p><font style="color:#FF0000">Cami&oacute;n espa&ntilde;ol</font></p>'(長度=70)


                這是代碼的完整部分:

                $list = get_html_translation_table(HTML_ENTITIES);未設置($list['"']);取消設置($list['<']);未設置($list['>']);取消設置($list['&']);$search = array_keys($list);$values = array_values($list);$search = array_map('utf8_encode', $search);$str_in = '<p><font style="color:#FF0000">Camión espa?ol</font></p>';$str_out = str_replace($search, $values, $str_in);var_dump($str_in, $str_out);

                以及完整的輸出:

                string '<p><font style="color:#FF0000">Camión espa?ol</font></p>'(長度=58)字符串 '<p><font style="color:#FF0000">Cami&oacute;n espa&ntilde;ol</font></p>'(長度=70)

                這次應該可以了^^
                它并不適合在一行中,可能不是最優化的解決方案;但它應該可以正常工作,并且具有允許您添加/刪除任何對應字符 => 您需要或不需要的實體的優點.

                玩得開心!

                I want to convert all texts in a string into html entities but preserving the HTML tags, for example this:

                <p><font style="color:#FF0000">Camión espa?ol</font></p>
                

                should be translated into this:

                <p><font style="color:#FF0000">Cami&oacute;n espa&ntilde;ol</font></p>
                

                any ideas?

                解決方案

                You can get the list of correspondances character => entity used by htmlentities, with the function get_html_translation_table ; consider this code :

                $list = get_html_translation_table(HTML_ENTITIES);
                var_dump($list);
                

                (You might want to check the second parameter to that function in the manual -- maybe you'll need to set it to a value different than the default one)

                It will get you something like this :

                array
                  ' ' => string '&nbsp;' (length=6)
                  '?' => string '&iexcl;' (length=7)
                  '¢' => string '&cent;' (length=6)
                  '£' => string '&pound;' (length=7)
                  '¤' => string '&curren;' (length=8)
                  ....
                  ....
                  ....
                  '?' => string '&yuml;' (length=6)
                  '"' => string '&quot;' (length=6)
                  '<' => string '&lt;' (length=4)
                  '>' => string '&gt;' (length=4)
                  '&' => string '&amp;' (length=5)
                

                Now, remove the correspondances you don't want :

                unset($list['"']);
                unset($list['<']);
                unset($list['>']);
                unset($list['&']);
                

                Your list, now, has all the correspondances character => entity used by htmlentites, except the few characters you don't want to encode.

                And now, you just have to extract the list of keys and values :

                $search = array_keys($list);
                $values = array_values($list);
                

                And, finally, you can use str_replace to do the replacement :

                $str_in = '<p><font style="color:#FF0000">Camión espa?ol</font></p>';
                $str_out = str_replace($search, $values, $str_in);
                var_dump($str_out);
                

                And you get :

                string '<p><font style="color:#FF0000">Cami&Atilde;&sup3;n espa&Atilde;&plusmn;ol</font></p>' (length=84)
                

                Which looks like what you wanted ;-)


                Edit : well, except for the encoding problem (damn UTF-8, I suppose -- I'm trying to find a solution for that, and will edit again)

                Second edit couple of minutes after : it seem you'll have to use utf8_encode on the $search list, before calling str_replace :-(

                Which means using something like this :

                $search = array_map('utf8_encode', $search);
                

                Between the call to array_keys and the call to str_replace.

                And, this time, you should really get what you wanted :

                string '<p><font style="color:#FF0000">Cami&oacute;n espa&ntilde;ol</font></p>' (length=70)
                


                And here is the full portion of code :

                $list = get_html_translation_table(HTML_ENTITIES);
                unset($list['"']);
                unset($list['<']);
                unset($list['>']);
                unset($list['&']);
                
                $search = array_keys($list);
                $values = array_values($list);
                $search = array_map('utf8_encode', $search);
                
                $str_in = '<p><font style="color:#FF0000">Camión espa?ol</font></p>';
                $str_out = str_replace($search, $values, $str_in);
                var_dump($str_in, $str_out);
                

                And the full output :

                string '<p><font style="color:#FF0000">Camión espa?ol</font></p>' (length=58)
                string '<p><font style="color:#FF0000">Cami&oacute;n espa&ntilde;ol</font></p>' (length=70)
                

                This time, it should be ok ^^
                It doesn't really fit in one line, is might not be the most optimized solution ; but it should work fine, and has the advantage of allowing you to add/remove any correspondance character => entity you need or not.

                Have fun !

                這篇關于PHP 中的 htmlentities 但保留 html 標簽的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

                【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

                相關文檔推薦

                enable SOAP on PHP(在 PHP 上啟用 SOAP)
                Get received XML from PHP SOAP Server(從 PHP SOAP 服務器獲取接收到的 XML)
                not a valid AllXsd value(不是有效的 AllXsd 值)
                PHP SoapClient: SoapFault exception Could not connect to host(PHP SoapClient:SoapFault 異常無法連接到主機)
                Implementation of P_SHA1 algorithm in PHP(PHP中P_SHA1算法的實現)
                Sending a byte array from PHP to WCF(將字節數組從 PHP 發送到 WCF)
              • <legend id='ZLF7j'><style id='ZLF7j'><dir id='ZLF7j'><q id='ZLF7j'></q></dir></style></legend>

                    <small id='ZLF7j'></small><noframes id='ZLF7j'>

                        <tfoot id='ZLF7j'></tfoot>
                          <tbody id='ZLF7j'></tbody>
                        <i id='ZLF7j'><tr id='ZLF7j'><dt id='ZLF7j'><q id='ZLF7j'><span id='ZLF7j'><b id='ZLF7j'><form id='ZLF7j'><ins id='ZLF7j'></ins><ul id='ZLF7j'></ul><sub id='ZLF7j'></sub></form><legend id='ZLF7j'></legend><bdo id='ZLF7j'><pre id='ZLF7j'><center id='ZLF7j'></center></pre></bdo></b><th id='ZLF7j'></th></span></q></dt></tr></i><div class="xvzd1rb" id='ZLF7j'><tfoot id='ZLF7j'></tfoot><dl id='ZLF7j'><fieldset id='ZLF7j'></fieldset></dl></div>
                        • <bdo id='ZLF7j'></bdo><ul id='ZLF7j'></ul>

                        • 主站蜘蛛池模板: 南京兰江泵业有限公司-水解酸化池潜水搅拌机-絮凝反应池搅拌机-好氧区潜水推进器 | 大型冰雕-景区冰雕展制作公司,3D创意设计源头厂家-[赛北冰雕] | 涡街流量计_LUGB智能管道式高温防爆蒸汽温压补偿计量表-江苏凯铭仪表有限公司 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 橡胶接头_橡胶软接头_可曲挠橡胶接头-巩义市创伟机械制造有限公司 | 郑州巴特熔体泵有限公司专业的熔体泵,熔体齿轮泵与换网器生产厂家 | 全温度恒温培养摇床-大容量-立式-远红外二氧化碳培养箱|南荣百科 | 中开泵,中开泵厂家,双吸中开泵-山东博二泵业有限公司 | 不锈钢螺丝 - 六角螺丝厂家 - 不锈钢紧固件 - 万千紧固件--紧固件一站式采购 | 水平垂直燃烧试验仪-灼热丝试验仪-漏电起痕试验仪-针焰试验仪-塑料材料燃烧检测设备-IP防水试验机 | 固诺家居-全屋定制十大品牌_整体衣柜木门橱柜招商加盟 | 路面机械厂家| 太空舱_民宿太空舱厂家_移动房屋太空舱价格-豪品建筑 | 屏蔽服(500kv-超高压-特高压-电磁)-徐吉电气 | 超声波流量计_流量标准装置生产厂家 _河南盛天精密测控 | 档案密集柜_手动密集柜_智能密集柜_内蒙古档案密集柜-盛隆柜业内蒙古密集柜直销中心 | 拉力机-万能试验机-材料拉伸试验机-电子拉力机-拉力试验机厂家-冲击试验机-苏州皖仪实验仪器有限公司 | 铝板冲孔网,不锈钢冲孔网,圆孔冲孔网板,鳄鱼嘴-鱼眼防滑板,盾构走道板-江拓数控冲孔网厂-河北江拓丝网有限公司 | 运动木地板_体育木地板_篮球馆木地板_舞台木地板-实木运动地板厂家 | 上海律师咨询_上海法律在线咨询免费_找对口律师上策法网-策法网 广东高华家具-公寓床|学生宿舍双层铁床厂家【质保十年】 | 深圳法律咨询【24小时在线】深圳律师咨询免费 | 智能交通网_智能交通系统_ITS_交通监控_卫星导航_智能交通行业 | 酒水灌装机-白酒灌装机-酒精果酒酱油醋灌装设备_青州惠联灌装机械 | 早报网| 杭州翻译公司_驾照翻译_专业人工翻译-杭州以琳翻译有限公司官网 组织研磨机-高通量组织研磨仪-实验室多样品组织研磨机-东方天净 | 成都珞石机械 - 模温机、油温机、油加热器生产厂家 | 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | 定量包装机,颗粒定量包装机,粉剂定量包装机,背封颗粒包装机,定量灌装机-上海铸衡电子科技有限公司 | 众品地板网-地板品牌招商_地板装修设计_地板门户的首选网络媒体。 | 国际线缆连接网 - 连接器_线缆线束加工行业门户网站 | 酒店厨房设计_中央厨房设计_北京商用厨房设计公司-奇能商厨 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 河南中整光饰机械有限公司-抛光机,去毛刺抛光机,精密镜面抛光机,全自动抛光机械设备 | 六自由度平台_六自由度运动平台_三自由度摇摆台—南京全控科技 | 保定市泰宏机械制造厂-河北铸件厂-铸造厂-铸件加工-河北大件加工 | 耐酸碱泵-自吸耐酸碱泵型号「品牌厂家」立式耐酸碱泵价格-昆山国宝过滤机有限公司首页 | 玉米深加工设备-玉米深加工机械-新型玉米工机械生产厂家-河南粮院机械制造有限公司 | 3d打印服务,3d打印汽车,三维扫描,硅胶复模,手板,快速模具,深圳市精速三维打印科技有限公司 | 钢绞线万能材料试验机-全自动恒应力两用机-混凝土恒应力压力试验机-北京科达京威科技发展有限公司 | 自恢复保险丝_贴片保险丝_力特保险丝_Littelfuse_可恢复保险丝供应商-秦晋电子 | 亚克隆,RNAi干扰检测,miRNA定量检测-上海基屹生物科技有限公司 |