Birisi bana burada neyi yanlış yaptığımı söyleyebilir mi? Ben 527
farklı Itemid
arayabilir ve 494
numarayı değiştirmeniz gerekirRegex - Eşit hata ayıklama sorunu çözülmezse değiştirin
/docman/?view=document&alias=690-uchwala-rady-miasta-nr-xv-100-2015-zmieniajaca-uchwale-nr-xxxiii-151-2012&category_slug=gminne-programy-i-strategie&Itemid=123
/docman/?view=document&alias=690-uchwala-rady-miasta-nr-xv-100-2015-zmieniajaca-uchwale-nr-xxxiii-151-2012&category_slug=gminne-programy-i-strategie&Itemid=494
/docman/?view=document&alias=690-uchwala-rady-miasta-nr-xv-100-2015-zmieniajaca-uchwale-nr-xxxiii-151-2012&category_slug=gminne-programy-i-strategie&Itemid=527
: Bu benim örnek verilerdir. (Gerçi g
bayrağıyla) öyle,
$pattern = '/(.*)(Itemid=)(?!527)([1-9]*)/';
$replacement = "494";
$row->text = preg_replace($pattern, '$1'.'$2'.$replacement, $row->text);
Ve Bu RegExr düzgün çalışmıyor bu
/docman/?view=document&alias=690-uchwala-rady-miasta-nr-xv-100-2015-zmieniajaca-uchwale-nr-xxxiii-151-2012&category_slug=gminne-programy-i-strategie&94=
/docman/?view=document&alias=690-uchwala-rady-miasta-nr-xv-100-2015-zmieniajaca-uchwale-nr-xxxiii-151-2012&category_slug=gminne-programy-i-strategie&94=
/docman/?view=document&alias=690-uchwala-rady-miasta-nr-xv-100-2015-zmieniajaca-uchwale-nr-xxxiii-151-2012&category_slug=gminne-programy-i-strategie&Itemid=527
gibi bir şey alırsınız: Bu benim kodudur.
$row->text = preg_replace($pattern, '$1'.'$2'."WTF?".$replacement, $row->text);
Ardından düzgün görünmeye başlar ... ama bir bağlantı içinde bu gereksiz WTF vardır:
Şimdi böyle ikinci ifadeden sonra birşeyler eklerseniz
/docman/?view=document&alias=690-uchwala-rady-miasta-nr-xv-100-2015-zmieniajaca-uchwale-nr-xxxiii-151-2012&category_slug=gminne-programy-i-strategie&Itemid=WTF?494
/docman/?view=document&alias=690-uchwala-rady-miasta-nr-xv-100-2015-zmieniajaca-uchwale-nr-xxxiii-151-2012&category_slug=gminne-programy-i-strategie&Itemid=WTF?494
/docman/?view=document&alias=690-uchwala-rady-miasta-nr-xv-100-2015-zmieniajaca-uchwale-nr-xxxiii-151-2012&category_slug=gminne-programy-i-strategie&Itemid=527
ben anlama. Neyi yanlış yapıyorum ve nasıl hata ayıklayabilirim?
$row->text = preg_replace($pattern, '$1'.'${2}'.$replacement, $row->text);
^^^
bir rakam ile $replacement
başlar beri düzenli ifade motoru arıyor bakınız: :(
Teşekkür Ederiz Druzion, Eğer bu sizin için uygun değilse, ilk önce @Wiktor cevabını kabul edeceğim? :) –
@ThomasKolasa Sorun değil! Kabul ettiğim gibi kimin cevap verdiğini umursamıyorum, doğal olarak ben de benimkini tercih ederim;), devam et ve kabul et. – Druzion
Vay canına! Bu, şu ana kadar yaptığım en iyi cevap: o: D Btw. Pattern = '/(.*Itemid=)(?!527$)(\d*)(.*) /' içine "$" ekledikten sonra; Aynı zamanda mevcut 527 itemid –