V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cnqncom
V2EX  ›  PHP

问个正则规则的写法

  •  
  •   cnqncom · 2017-10-17 11:24:28 +08:00 · 3069 次点击
    这是一个创建于 2354 天前的主题,其中的信息可能已经有所发展或是发生改变。
    $str = "<div class='brush:php;'>";
    $key = "brush:(a-z,A-Z);";
    $val = "brush:$1;toolbar:false;";
    echo preg_replace('/'.$key.'/i',$val,$str);



    brush:php;这里可能是 PHP 也可能是 JAVA 等
    需要将 brush:php;这个内容保留,在后面加上 toolbar:false;字符串
    15 条回复    2017-10-17 18:01:27 +08:00
    lrvy
        1
    lrvy  
       2017-10-17 11:38:22 +08:00
    \bbrush\b:[php|java]; 这样吗?
    cnqncom
        2
    cnqncom  
    OP
       2017-10-17 11:41:17 +08:00
    @lrvy 可能不止这些,我希望里面是任意字符串
    2ME
        3
    2ME  
       2017-10-17 11:44:17 +08:00
    用 phpQuery 提取出来 CLASS 简单一点
    askfilm
        4
    askfilm  
       2017-10-17 11:53:14 +08:00
    @cnqncom 把 “;” 换成 “;toolbar:false;” 不就行了,
    或者你不放心的话 把 “ ;' ” 换成 “ ;toolbar:false;' ” 也行啊
    要啥正则
    whahuzhihao
        5
    whahuzhihao  
       2017-10-17 11:54:21 +08:00   ❤️ 1
    echo preg_replace('/brush:([^\s\']+)/i', "brush:$1toolbar:false;","<div class='brush:php;'>");
    cnqncom
        6
    cnqncom  
    OP
       2017-10-17 12:17:31 +08:00
    @askfilm 这样不行哦,其他 CLASS 全部被替换了
    askfilm
        7
    askfilm  
       2017-10-17 12:51:46 +08:00
    @cnqncom 什么 class 里会分号?
    hadixlin
        8
    hadixlin  
       2017-10-17 13:05:13 +08:00
    brush:(.*)?; brush:$1;toolbar:false
    @whahuzhihao 的答案应该就是正解了.

    另外楼主你的需求描述不够清楚,请注意.
    vincenth520
        9
    vincenth520  
       2017-10-17 13:08:42 +08:00
    ```php
    <?php

    $str = "<div class='brush:php;'>";
    $key = "brush:(.+);";
    $val = "brush:$1;toolbar:false;";
    echo preg_replace('/'.$key.'/i',$val,$str);
    ```
    vincenth520
        10
    vincenth520  
       2017-10-17 13:09:44 +08:00
    不支持 markdown,尴尬了
    hibobby
        11
    hibobby  
       2017-10-17 13:11:33 +08:00
    为啥不把"<div class='brush:php;'>";中的 class='brush:php;'提取出来然后分组操作?
    cnqncom
        13
    cnqncom  
    OP
       2017-10-17 15:06:21 +08:00 via Android
    @hadixlin 感谢
    sucaihuo
        14
    sucaihuo  
       2017-10-17 15:56:19 +08:00
    进来学习一下
    renminghao
        15
    renminghao  
       2017-10-17 18:01:27 +08:00
    /brush:(\w+?)/
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3222 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 11:38 · PVG 19:38 · LAX 04:38 · JFK 07:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.