不支持中文.
可以用十六进制表示,如:'\xC7\xEB' = 请 .
----------------------
"请您对您的言行负责,遵守中华人民共和国有关法律、法规,尊重网上道德"的十六进制为:
C7 EB C4 FA B6 D4 C4 FA-B5 C4 D1 D4 D0 D0 B8 BA
D4 F0 A3 AC D7 F1 CA D8-D6 D0 BB AA C8 CB C3 F1
B9 B2 BA CD B9 FA D3 D0-B9 D8 B7 A8 C2 C9 A1 A2
B7 A8 B9 E6 2C D7 F0 D6-D8 CD F8 C9 CF B5 C0 B5
C2

解决方案 »

  1.   


    <?
    $str="请您对您的言行负责,遵守中华人民共和国有关法律、法规,尊重网上道德";
    $str1="请您";
    $str2="法规";//"请您对您的言行负责,遵守中华人民共和国有关法律、法规";
    echo preg_replace('/,.*/',"",$str)."\r\n";
    //"对您的言行负责,遵守中华人民共和国有关法律、" ;
    echo preg_replace('/(\xC7\xEB\xC4\xFA)|(\xB7\xA8\xB9\xE6.*)/','',$str);
    ?>
      

  2.   

    netvt您好,你的答案在这个例子中是对的,但假如$str很长,又怎么能用
    preg_replace('/,.*/',"",$str) 呢?
    我的意思是得出$str1, $str2之间的字符串。请再给出答案,谢谢。
    请问哪有学习php正则语法的资料下载呢?谢谢。
      

  3.   

    <?
    $str="尊重网上,请您对您的言行负责,遵守中华人民共和国有关法律、法规,尊重网上道德尊重网上,请您对您的言行负责,遵守中华人民共和国有关法律、法规,尊重网上道德";
    $str1="请您";
    $str2="法规";//"对您的言行负责,遵守中华人民共和国有关法律、" ;
    preg_match_all('/\xC7\xEB\xC4\xFA(.*)\xB7\xA8\xB9\xE6/U',$str,$out);
    print_r($out[1]);//输出$str1和$str2之间的字符串
    ?>
    ==
    PHP文档手册中有(英文版的)
      

  4.   

    <?php
    $str="请您对您的言行负责,遵守中华人民共和国有关法律、法规,尊重网上道德";
    $str1="请您";
    $str2="法规";//"请您对您的言行负责,遵守中华人民共和国有关法律、法规";
    echo preg_replace("/.*$str1(.*$str2).*/","\\1",$str)."<br>";
    //"对您的言行负责,遵守中华人民共和国有关法律、" ;
    echo preg_replace("/.*$str1(.*)$str2.*/","\\1",$str)."<br>";
    ?>