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

我有这个字符串

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

现在BYDAY=MO,SU部分可以位于任何位置,例如

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

我只想替换BYDAY=value的值

假设我更新了BYDAY=FR的值

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


料青山看我应如是
浏览 78回答 1
1回答

UYOU

使用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,SURRULE:FREQ=WEEKLY;COUNT=13;BYDAY=FR
打开App,查看更多内容
随时随地看视频慕课网APP