代码之家  ›  专栏  ›  技术社区  ›  Mark Salvania

用PHP中的某些条件替换字符串

php
  •  0
  • Mark Salvania  · 技术社区  · 6 年前

    我有这根绳子

    RRULE:FREQ=WEEKLY;COUNT=13;BYDAY=MO,SU
    

    现在角色 拜日=莫,苏 可以处于任何位置,如

    RRULE:FREQ=WEEKLY;BYDAY=WE,TH;INTERVAL=2;COUNT=5; -> BYDAY=WE
    

    我只想替换 按日=价值

    假设我已经更新了 BYDAY=FR

    我试着用 str_replace() 但是BYDAY的给定值可以是MO,TU,WE,TH

    1 回复  |  直到 6 年前
        1
  •  4
  •   Tim Biegeleisen    6 年前

    使用 preg_replace

    $input = "RRULE:FREQ=WEEKLY;COUNT=13;BYDAY=MO,SU";
    $output = preg_replace("/\bBYDAY=[^;]+/", "BYDAY=FR", $input);
    echo $input . "\n" . $output;
    

    RRULE:FREQ=WEEKLY;COUNT=13;BYDAY=MO,SU
    RRULE:FREQ=WEEKLY;COUNT=13;BYDAY=FR
    
    推荐文章