替換字符串兩種模式之間我有兩個問題在PHP
-
1.
我試圖取代我希望能夠更換兩種模式
例如之間的串some_string
在
(pattern1)some_string(pattern2)
現在我得到這兩個圖案的索引和使用substr_replace
任務
$base_url = 'pattern1_some_string&pattern2'
if (preg_match('/pattern1/', $base_url, $start, PREG_OFFSET_CAPTURE) == 1 &&
preg_match('/&pattern2/', $base_url, $end, PREG_OFFSET_CAPTURE)){
$start = $start[0][1];
$end = $end[0][1];
$starting_offset = strlen('pattern1') + 1;
$start_index = $start + $starting_offset;
$replacement_range = $end - $start_index - 1;
var_dump(substr_replace($base_url, "replacement", $start_index, $replacement_range));
有沒有更簡單的方法來做到這一點?
-
2.
提供有一個更簡單的方法來做到1,它可以匹配第一檢測的圖案
。例如我希望能夠以取代在some_string
(pattern1)some_string(pattern2)
,條件是(模式1)和(模式2)是第一個遇到的圖案
(pattern1)(pattern1)some_string(pattern2)(pattern2) -> replacing with replacement
會導致
(pattern1)replacement(pattern2)
快速評論downvote背後的理性將有助於提高問題的質量。 – testing
我得到了問題1的答案,但它有點棘手。這裏的問題1答案:http://pastebin.com/Gsv19L85,如果你嘗試一點點找出問題的答案會出現:D ahha –
我不知道downvote,但事實上,你開始「我有兩個問題」可能無濟於事。請給每個問題一個問題。 – Ajean