PHP - Regex yardım lütfen

0 Cevap php

Eh, ben bunu itiraf etmekten nefret ediyorum ama regex ile zor bir zaman var, ben ifadeler kurmak nasıl olması gerektiği üzerinde iyi bir öğretici bulmak asla.

Yani böyle bir şey var demek

context['something']

ve ben tüm tekrarlarını değiştirmek istiyorum

context[something] 

Sonra var

' . $var . ' 

ve ben tüm tekrarlarını değiştirmek istiyorum

{var} 

Bu geçerli bir kavram ama ben regex bölümü ile sorun yaşıyorum. Ben str_replace kullanıyorum ama dil değişimleri ile ben bu şekilde yeterince kararlı olur sanmıyorum.

İşte benim girişimi olduğunu.

$codes = array (
         '/(\' \. \$)(.+)( \. \')/',
        '/(\[\')(.+)(\'\])/'
);
$html = array (
        '{\\2}',
        '[\\2]',
);
$data = preg_replace($codes, $html, $data); 

Bir dosyada onlardan tahsis almak ve daha sonra kötü gider kadar çalışır.

Bu, mevcut kurulum

// these are temp need a better replace system
$data = str_replace("' . $", "{", $data);
$data = str_replace(" . '", "}", $data);
$data = str_replace("<?php", "", $data);
$data = str_replace("?>", "", $data);
$data = str_replace('context[\'forum_name\']', 'context[forum_name]', $data); 

Onlar kurtarmak sırasında daha sonra geri dönüştürülebilir böylece sadece bu açıklama için uygun bir yol gerekir.

Herkes yardım edebilir misiniz?

Teşekkürler :)

0 Cevap