我已經出現在我的XML以下文本幾次:PHP的preg_replace()來改變版權年份
版權所有©2015年
我想使用正則表達式來改變以動態方式顯示文本以便在最終輸出中始終反映當前年份。這是我的嘗試,它似乎並沒有工作:
$finaloutput = preg_replace("/Copyright © [0-9]+/", "test", $finaloutput);
當然,我使用的是硬編碼字符串(「測試」),只是爲了測試目的,因爲目前的案文已經在它2015年。所以,在這裏我的目標就是要改變這樣的:
版權所有©2015年保留所有權利....
到這一點:
版權所有©測試。保留所有權利....
我的正則表達式是否錯誤?
PS:只是爲了給大家的背景下更好的手感的緣故,這裏的XML片段$finaloutput
被分配到(的部分):
<div class="dict_source"><strong>Powered by</strong> <a target="_blank" rel="nofollow" href="http://www.collinsdictionary.com/dictionary/english-spanish">Collins Complete Spanish Electronic Dictionary</a><br>Copyright © 2015 HarperCollins Publishers Limited.</div>
更新:我試圖通過@提供的答案阿維納什仍然沒有成功。爲了更好地說明這個問題,我挖掘了一個在線preg_replace()
測試儀。結束於https://www.functions-online.com/preg_replace.html。下面是我在各種輸入字段中輸入的測試信息:
$模式:'/(Copyright\s+©\s+)[0-9]+/u'
$更換:'\1test'
$主題:<div class="dict_source"><strong>Powered by</strong> <a target="_blank" rel="nofollow" href="http://www.collinsdictionary.com/dictionary/english-spanish">Collins Complete Spanish Electronic Dictionary</a><br>Copyright © 2015 HarperCollins Publishers Limited.</div>
它是'''或實體?這些空間是否正確?試試'var_dump($ finaloutput);'。 – chris85