0
我想用一個生成的值,使用該特定的id替換鏈接中的一個id。比如我有(可能)包含鏈接的字符串:用鏈接替換鏈接哈希使用鏈接
Lorem ipsum dolor sit amet, consectetur adipiscing elit
http://www.example.com/file/1
Curabitur volutpat nulla purus, vitae pharetra diam commodo porttitor
http://www.example.com/file/2
我要替換這兩個ID與功能,這是我改變取決於他們是在頁面上的結果(在這種情況下,唯一的將每個頁面上的鏈接鏈接到相同的文件)。我想我需要一個preg_replace(),但我如何將id作爲變量傳遞給替換函數?
例如,像(僞代碼):
function hash_it($file_id, $page_id) {
return md5($file_id . $page_id);
}
$page_id = 1;
$text = preg_replace('"\b(http://www.example.com/file/\d+)"', hash_it($1, $page_id), $text);
提前感謝!
感謝您的回答,不知道preg_replace_callback()函數。但是...我如何將id傳遞給函數? – Wietse
@Wietse正如我所說,請參閱樣本的手冊頁。如果你想在回調函數中的數組中找到它,你必須使用'()' –
對你的正則表達式進行分組。這是我需要的!變量$ matches [2]給了我我需要的:id。謝謝! – Wietse