首页 > 后端开发 > php教程 > 请教一个正则问题

请教一个正则问题

WBOY
发布: 2016-06-23 14:09:13
原创
931 人浏览过

原字符串:


  •   
        la belle 
        courbe de 
        

        Parfait comme 
        cadeau pour votre amoureux
        

        NOTE
        : Laver 
        à la main 
      
     


  • 处理后的字符串:

  •   la belle courbe de 

      Parfait comme cadeau pour votre amoureux 

      NOTE : Laver à la main


  • 问题:
    请问如何写正则
    preg_replace();


    回复讨论(解决方案)

    $arr1=array('#]+>([^\r\n#i', '#
    ]*>#i', '#?span>\r\n#i');
    $arr2=array('$1 ', '
    ', '');
    preg_replace($arr1, $arr2, $str);

    \r\n是windows文本换行符,要注意对应文本的格式
    没环境测试,自己摸索一下吧

    $str1 = '


  •       
            la belle
            courbe de
            

            Parfait comme
            cadeau pour votre amoureux
            

            NOTE
            : Laver
            à la main
          

        
  • ';

    $reg = "/||zd=\"(.*)\"|closure_uid_235198886=\"(.*)\"/iU";
    $str = preg_replace($reg, '', $str1);

    var_dump($str);exit;

    $s =<<< TXT<LI>  <SPAN id=result_box lang=fr c="4" a="undefined" zd="null" closure_uid_235198886="43">    <SPAN class=hps zd="null" closure_uid_235198886="1391">la belle</SPAN>     <SPAN class=hps zd="null" closure_uid_235198886="1392">courbe de</SPAN>     <BR zd="null" closure_uid_235198886="1410">    <SPAN class=hps zd="null" closure_uid_235198886="1399">Parfait comme</SPAN>     <SPAN class=hps zd="null" closure_uid_235198886="1400">cadeau pour votre amoureux</SPAN>    <BR zd="null" closure_uid_235198886="1411">    <SPAN class=hps zd="null" closure_uid_235198886="1401">NOTE</SPAN>    <SPAN zd="null" closure_uid_235198886="1402">: Laver</SPAN>     <SPAN class=hps zd="null" closure_uid_235198886="1403">&agrave; la main</SPAN>   </SPAN> <LI>TXT;echo strip_tags($s, '<li><br>');
    登录后复制
    登录后复制

    $str1 = '<LI>      <SPAN id=result_box lang=fr c="4" a="undefined" zd="null" closure_uid_235198886="43">        <SPAN class=hps zd="null" closure_uid_235198886="1391">la belle</SPAN>        <SPAN class=hps zd="null" closure_uid_235198886="1392">courbe de</SPAN>        <BR zd="null" closure_uid_235198886="1410">        <SPAN class=hps zd="null" closure_uid_235198886="1399">Parfait comme</SPAN>        <SPAN class=hps zd="null" closure_uid_235198886="1400">cadeau pour votre amoureux</SPAN>        <BR zd="null" closure_uid_235198886="1411">        <SPAN class=hps zd="null" closure_uid_235198886="1401">NOTE</SPAN>        <SPAN zd="null" closure_uid_235198886="1402">: Laver</SPAN>        <SPAN class=hps zd="null" closure_uid_235198886="1403">&agrave; la main</SPAN>      </SPAN>    <LI>';$reg = "/<span(.*)>|<\/span>|zd=\"(.*)\"|closure_uid_235198886=\"(.*)\"/iU";$str = preg_replace($reg, '', $str1);var_dump($str);exit;
    登录后复制
    登录后复制

    $str1 = '<LI>      <SPAN id=result_box lang=fr c="4" a="undefined" zd="null" closure_uid_235198886="43">        <SPAN class=hps zd="null" closure_uid_235198886="1391">la belle</SPAN>        <SPAN class=hps zd="null" closure_uid_235198886="1392">courbe de</SPAN>        <BR zd="null" closure_uid_235198886="1410">        <SPAN class=hps zd="null" closure_uid_235198886="1399">Parfait comme</SPAN>        <SPAN class=hps zd="null" closure_uid_235198886="1400">cadeau pour votre amoureux</SPAN>        <BR zd="null" closure_uid_235198886="1411">        <SPAN class=hps zd="null" closure_uid_235198886="1401">NOTE</SPAN>        <SPAN zd="null" closure_uid_235198886="1402">: Laver</SPAN>        <SPAN class=hps zd="null" closure_uid_235198886="1403">&agrave; la main</SPAN>      </SPAN>    <LI>';$reg = "/<span(.*)>|<\/span>|zd=\"(.*)\"|closure_uid_235198886=\"(.*)\"/iU";$str = preg_replace($reg, '', $str1);var_dump($str);exit;
    登录后复制
    登录后复制


    这个没有把
    里面的冗余代码去掉。

    $s =<<< TXT<LI>  <SPAN id=result_box lang=fr c="4" a="undefined" zd="null" closure_uid_235198886="43">    <SPAN class=hps zd="null" closure_uid_235198886="1391">la belle</SPAN>     <SPAN class=hps zd="null" closure_uid_235198886="1392">courbe de</SPAN>     <BR zd="null" closure_uid_235198886="1410">    <SPAN class=hps zd="null" closure_uid_235198886="1399">Parfait comme</SPAN>     <SPAN class=hps zd="null" closure_uid_235198886="1400">cadeau pour votre amoureux</SPAN>    <BR zd="null" closure_uid_235198886="1411">    <SPAN class=hps zd="null" closure_uid_235198886="1401">NOTE</SPAN>    <SPAN zd="null" closure_uid_235198886="1402">: Laver</SPAN>     <SPAN class=hps zd="null" closure_uid_235198886="1403">&agrave; la main</SPAN>   </SPAN> <LI>TXT;echo strip_tags($s, '<li><br>');
    登录后复制
    登录后复制


    因为我的$s前后都还有HTML代码,这里只是截取了需要替换的部分字符串,所以不能用这种方法,只能用正则。

    $patterns = array(
        '/]*>/i',
        '//i',
        '/
    ]*>/i',
    );
    $replace = array(
        '',
        '',
        '
    ',
    );
    echo preg_replace($patterns, $replace, $str);

    这个不错。

  • 相关标签:
    来源:php.cn
    本站声明
    本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
    最新问题
    热门教程
    更多>
    最新下载
    更多>
    网站特效
    网站源码
    网站素材
    前端模板