Mysql函数删除html标签

时间:2015-10-05 16:52:58

标签: html mysql

以下是我用来删除html代码的功能:

DROP FUNCTION IF EXISTS strip_tags;     
 DELIMITER |
CREATE FUNCTION strip_tags($str text) RETURNS text
BEGIN
    DECLARE $start, $end ,$xmlstart INT DEFAULT 1;

    LOOP

SET $start = LOCATE("<!", $str, $start);
        IF (!$start) THEN RETURN $str; END IF;
        SET $end = LOCATE("->", $str, $start);
        IF (!$end) THEN SET $end = $start; END IF;
        SET $str = INSERT($str, $start, $end + 1 - $start + 1, "");


    SET $start = LOCATE("<", $str, $start);
        IF (!$start) THEN RETURN $str; END IF;
        SET $end = LOCATE(">", $str, $start);
        IF (!$end) THEN SET $end = $start; END IF;
        SET $str = INSERT($str, $start, $end - $start + 1, "");
    END LOOP;
END;

    ----------

以下是示例数据:

        <p><!--[if gte mso 9]>`                                                                                         /xml><![endif]--></p>
        <p><!--[if gte mso 9]><xml>
         <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
          DefSemiHidden="true" DefQFormat="false" DefPriority="99"
          LatentStyleCount="267">
          <w:LsdException Locked="false" Priority="0" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
          <w:LsdException Locked="false" Priority="9" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
          <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 2"/>
          <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 3"/>
          <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
          <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
          <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
          <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
          <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
          <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
          <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
          <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
          <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
          <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
          <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
          <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
          <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
          <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
          <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
          <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
          <w:LsdException Locked="false" Priority="10" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Title"/>
          <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
          <w:LsdException Locked="false" Priority="11" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
          <w:LsdException Locked="false" Priority="22" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
          <w:LsdException Locked="false" Priority="20" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
          <w:LsdException Locked="false" Priority="59" SemiHidden="false"
           UnhideWhenUsed="false" Name="Table Grid"/>
          <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
          <w:LsdException Locked="false" Priority="1" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
          <w:LsdException Locked="false" Priority="60" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Shading"/>
          <w:LsdException Locked="false" Priority="61" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light List"/>
          <w:LsdException Locked="false" Priority="62" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Grid"/>
          <w:LsdException Locked="false" Priority="63" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 1"/>
          <w:LsdException Locked="false" Priority="64" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 2"/>
          <w:LsdException Locked="false" Priority="65" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 1"/>
          <w:LsdException Locked="false" Priority="66" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 2"/>
          <w:LsdException Locked="false" Priority="67" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 1"/>
          <w:LsdException Locked="false" Priority="68" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 2"/>
          <w:LsdException Locked="false" Priority="69" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 3"/>
          <w:LsdException Locked="false" Priority="70" SemiHidden="false"
           UnhideWhenUsed="false" Name="Dark List"/>
          <w:LsdException Locked="false" Priority="71" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Shading"/>
          <w:LsdException Locked="false" Priority="72" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful List"/>
          <w:LsdException Locked="false" Priority="73" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Grid"/>
          <w:LsdException Locked="false" Priority="60" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
          <w:LsdException Locked="false" Priority="61" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light List Accent 1"/>
          <w:LsdException Locked="false" Priority="62" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
          <w:LsdException Locked="false" Priority="63" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
          <w:LsdException Locked="false" Priority="64" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
          <w:LsdException Locked="false" Priority="65" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
          <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
          <w:LsdException Locked="false" Priority="34" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
          <w:LsdException Locked="false" Priority="29" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
          <w:LsdException Locked="false" Priority="30" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
          <w:LsdException Locked="false" Priority="66" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
          <w:LsdException Locked="false" Priority="67" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
          <w:LsdException Locked="false" Priority="68" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
          <w:LsdException Locked="false" Priority="69" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
          <w:LsdException Locked="false" Priority="70" SemiHidden="false"
           UnhideWhenUsed="false" Name="Dark List Accent 1"/>
          <w:LsdException Locked="false" Priority="71" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
          <w:LsdException Locked="false" Priority="72" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
          <w:LsdException Locked="false" Priority="73" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
          <w:LsdException Locked="false" Priority="60" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
          <w:LsdException Locked="false" Priority="61" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light List Accent 2"/>
          <w:LsdException Locked="false" Priority="62" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
          <w:LsdException Locked="false" Priority="63" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
          <w:LsdException Locked="false" Priority="64" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
          <w:LsdException Locked="false" Priority="65" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
          <w:LsdException Locked="false" Priority="66" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
          <w:LsdException Locked="false" Priority="67" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
          <w:LsdException Locked="false" Priority="68" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
          <w:LsdException Locked="false" Priority="69" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
          <w:LsdException Locked="false" Priority="70" SemiHidden="false"
           UnhideWhenUsed="false" Name="Dark List Accent 2"/>
          <w:LsdException Locked="false" Priority="71" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
          <w:LsdException Locked="false" Priority="72" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
          <w:LsdException Locked="false" Priority="73" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
          <w:LsdException Locked="false" Priority="60" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
          <w:LsdException Locked="false" Priority="61" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light List Accent 3"/>
          <w:LsdException Locked="false" Priority="62" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
          <w:LsdException Locked="false" Priority="63" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
          <w:LsdException Locked="false" Priority="64" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
          <w:LsdException Locked="false" Priority="65" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
          <w:LsdException Locked="false" Priority="66" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
          <w:LsdException Locked="false" Priority="67" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
          <w:LsdException Locked="false" Priority="68" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
          <w:LsdException Locked="false" Priority="69" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
          <w:LsdException Locked="false" Priority="70" SemiHidden="false"
           UnhideWhenUsed="false" Name="Dark List Accent 3"/>
          <w:LsdException Locked="false" Priority="71" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
          <w:LsdException Locked="false" Priority="72" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
          <w:LsdException Locked="false" Priority="73" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
          <w:LsdException Locked="false" Priority="60" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
          <w:LsdException Locked="false" Priority="61" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light List Accent 4"/>
          <w:LsdException Locked="false" Priority="62" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
          <w:LsdException Locked="false" Priority="63" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
          <w:LsdException Locked="false" Priority="64" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
          <w:LsdException Locked="false" Priority="65" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
          <w:LsdException Locked="false" Priority="66" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
          <w:LsdException Locked="false" Priority="67" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
          <w:LsdException Locked="false" Priority="68" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
          <w:LsdException Locked="false" Priority="69" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
          <w:LsdException Locked="false" Priority="70" SemiHidden="false"
           UnhideWhenUsed="false" Name="Dark List Accent 4"/>
          <w:LsdException Locked="false" Priority="71" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
          <w:LsdException Locked="false" Priority="72" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
          <w:LsdException Locked="false" Priority="73" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
          <w:LsdException Locked="false" Priority="60" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
          <w:LsdException Locked="false" Priority="61" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light List Accent 5"/>
          <w:LsdException Locked="false" Priority="62" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
          <w:LsdException Locked="false" Priority="63" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
          <w:LsdException Locked="false" Priority="64" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
          <w:LsdException Locked="false" Priority="65" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
          <w:LsdException Locked="false" Priority="66" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
          <w:LsdException Locked="false" Priority="67" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
          <w:LsdException Locked="false" Priority="68" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
          <w:LsdException Locked="false" Priority="69" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
          <w:LsdException Locked="false" Priority="70" SemiHidden="false"
           UnhideWhenUsed="false" Name="Dark List Accent 5"/>
          <w:LsdException Locked="false" Priority="71" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
          <w:LsdException Locked="false" Priority="72" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
          <w:LsdException Locked="false" Priority="73" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
          <w:LsdException Locked="false" Priority="60" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
          <w:LsdException Locked="false" Priority="61" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light List Accent 6"/>
          <w:LsdException Locked="false" Priority="62" SemiHidden="false"
           UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
          <w:LsdException Locked="false" Priority="63" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
          <w:LsdException Locked="false" Priority="64" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
          <w:LsdException Locked="false" Priority="65" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
          <w:LsdException Locked="false" Priority="66" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
          <w:LsdException Locked="false" Priority="67" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
          <w:LsdException Locked="false" Priority="68" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
          <w:LsdException Locked="false" Priority="69" SemiHidden="false"
           UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
          <w:LsdException Locked="false" Priority="70" SemiHidden="false"
           UnhideWhenUsed="false" Name="Dark List Accent 6"/>
          <w:LsdException Locked="false" Priority="71" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
          <w:LsdException Locked="false" Priority="72" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
          <w:LsdException Locked="false" Priority="73" SemiHidden="false"
           UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
          <w:LsdException Locked="false" Priority="19" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
          <w:LsdException Locked="false" Priority="21" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
          <w:LsdException Locked="false" Priority="31" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
          <w:LsdException Locked="false" Priority="32" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
          <w:LsdException Locked="false" Priority="33" SemiHidden="false"
           UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
          <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
          <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
         </w:LatentStyles>
        </xml><![endif]--><!--[if gte mso 10]>
        <style>
         /* Style Definitions */
         table.MsoNormalTable
            {mso-style-name:"Table Normal";
            mso-tstyle-rowband-size:0;
            mso-tstyle-colband-size:0;
            mso-style-noshow:yes;
            mso-style-priority:99;
            mso-style-parent:"";
            mso-padding-alt:0in 5.4pt 0in 5.4pt;
            mso-para-margin:0in;
            mso-para-margin-bottom:.0001pt;
            mso-pagination:widow-orphan;
            font-size:10.0pt;
            font-family:"Times New Roman","serif";
            border:none;}
        </style>
        <![endif]--><span style="font-size: 10.0pt; font-family: 'Trebuchet MS','sans-serif'; mso-fareast-font-family: 'Arial Unicode MS'; mso-hansi-font-family: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'; color: black; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">&nbsp;****Delusions are seen in all of the following, EXCEPT****&nbsp;<br /></span></p>

只有粗体数据才能作为最终输出。留下Delusions are seen in all of the following, EXCEPT作为输出。以下是我通过执行函数获得的输出:

<p></p>
<p><span style="font-size: 10.0pt; font-family: 'Trebuchet MS','sans-serif'; mso-fareast-font-family: 'Arial Unicode MS'; mso-hansi-font-family: 'Arial Unicode MS'; mso-bidi-font-family: 'Arial Unicode MS'; color: black; mso-ansi-language: EN-US; mso-fareast-language: EN-US; mso-bidi-language: AR-SA;">&nbsp;Delusions are seen in all of the following, EXCEPT&nbsp;<br /></span></p>

我无法在第一次运行中获得此输出:&nbsp;Delusions are seen in all of the following, EXCEPT&nbsp;。如果我先评论SET

/*SET $start = LOCATE("<!", $str, $start);
        IF (!$start) THEN RETURN $str; END IF;
        SET $end = LOCATE("->", $str, $start);
        IF (!$end) THEN SET $end = $start; END IF;
        SET $str = INSERT($str, $start, $end + 1 - $start + 1, "");*/

然后执行然后我得到正确的输出。 我的问题是如何在第一次运行中使两个功能都工作?

0 个答案:

没有答案