Ben formda dizeleri \d+_\d+
var ve ben ikinci sayısına 1 eklemek istiyorum. Benim açıklama çok çok açık olduğundan, sana bir kaç örnek vereyim:
- 1234567_2 1234567_3 olması gerektiğini
- 1234_10 1234_11 olması gerektiğini
İşte benim ilk denemem:
$new = preg_replace("/(\d+)_(\d+)/", "$1_".((int)$2)+1, $old);
Bu bir sözdizimi hatası ile sonuçlanır:
Parse error: syntax error, unexpected T_LNUMBER, expecting T_VARIABLE or '$' in [...] on line 201
İşte benim ikinci girişimi
$new = preg_replace("/(\d+)_(\d+)/", "$1_".("$2"+1), $old);
Bu istenen etkiyi değil, hangi 1234567_1 = new $ içine = 1234567_2 $ eski dönüşümleri
Benim üçüncü girişimi
$new = preg_replace("/(\d+)_(\d+)/", "$1_".((int)"$2"+1), $old);
Bu durum, aynı sonucu yeilds.
Bu girişimleri yaparak, ben anlamadım fark ne yeni $ 1, $ 2, $ 3, .. değişkenler gerçekten çalıştı, ve bu yüzden gerçekten bu değişkenler artık çıkarken var gibi görünüyor çünkü denemek için başka ne bilmiyorum preg_replace fonksiyonu ...
Herhangi bir fikir?