rateltalk
V2EX  ›  问与答

求解如何用 PHP 提取以下字符串中的“contact”字符:"theme_0026-contact.json"、、、

  •  
  •   rateltalk · Jun 22, 2018 · 2083 views
    This topic created in 2888 days ago, the information mentioned may be changed or developed.

    contact 字符长度不定,可能是其他字符、

    14 replies    2018-06-23 20:45:16 +08:00
    Sanko
        1
    Sanko  
       Jun 22, 2018 via Android
    preg_match() ?
    icy37785
        2
    icy37785  
       Jun 22, 2018 via iPhone
    正则呀
    shmilyin
        3
    shmilyin  
       Jun 22, 2018
    $str = "theme_0026-contact.json";

    echo substr($str,11,-5);

    echo PHP_EOL;

    $str = "theme_0026-contactxxx.json";

    echo substr($str,11,-5);
    ETiV
        4
    ETiV  
       Jun 22, 2018 via iPhone
    ([^\-]+)\.json

    建议用半个小时学一下正则表达式
    rateltalk
        5
    rateltalk  
    OP
       Jun 22, 2018 via iPhone
    @shmilyin 提取的长度不一定,而是 0026 也不一定,可能是 00056,这样子搞不行的
    lneoi
        6
    lneoi  
       Jun 22, 2018
    上正则吧
    ysc3839
        7
    ysc3839  
       Jun 22, 2018 via Android
    举多几个例子吧?你只给一个也不知道具体是什么格式。
    shmilyin
        8
    shmilyin  
       Jun 22, 2018
    @s609926202 你自己都没把示例列清楚。
    建议你还是学下正则吧
    DavidNineRoc
        9
    DavidNineRoc  
       Jun 23, 2018
    rateltalk
        10
    rateltalk  
    OP
       Jun 23, 2018
    rateltalk
        11
    rateltalk  
    OP
       Jun 23, 2018
    @DavidNineRoc 我是这样写的正则:/^\w+[\-](?<name>.*)\.json$/
    imydou
        12
    imydou  
       Jun 23, 2018
    @DavidNineRoc #9
    @s609926202 #10 要啥有啥
    azh7138m
        13
    azh7138m  
       Jun 23, 2018
    @s609926202 #10 js 的捕获不支持命名的吧,为啥不到 php 里面直接测试
    zerofiny
        14
    zerofiny  
       Jun 23, 2018 via Android
    -(.*)\.json
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1016 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 47ms · UTC 22:32 · PVG 06:32 · LAX 15:32 · JFK 18:32
    ♥ Do have faith in what you're doing.