rateltalk
V2EX  ›  问与答

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

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

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

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

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

    echo PHP_EOL;

    $str = "theme_0026-contactxxx.json";

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

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