Ben kullanıcı vsprintf kullanan bir işlev için özel bir biçimi belirtmek izin gerekiyor, ve PHP glibc'mizin 'register_printf_function yok çünkü (), ben PCRE'nin ile yapmak gerekir.
Benim sorum ne sonradan programatik kullanım için kullanılabilir bir şekilde,% herhangi bir karakter tarafından takip ve ondan önce% olmaması maç için iyi regexp olurdu, değil mi?
Ben alabilir yakın çözüm oldu:
<?php
function myprintf($format,$args) {
$matches = array();
preg_match_all('/((?<!%)%*[^%]+)/', $format,$matches,PREG_OFFSET_CAPTURE|PREG_PATTERN_ORDER);
print_r($matches);
}
myprintf("begin%a%%b%%%c%d",NULL);
Hangi tür işleri, AMA bu "%%% c" gibi girdilerin tarafından "karışık" olur. : Ben gibi bir gruplandırma (yani kaçtı) iki% işaretlerinin dizi var istiyorum
Array (
0 => '%%',
1 => '%c'
)
and not like it's doing it now: Array ( 0 => '%%%c' ) That is, I need to keep the input intact, though tokenized, in order to join the pieces together after I do the processing of the custom printf formats I encounter in the input.
Teşekkürler,
Flavius
PS: the "user" is actually another programmer. I am aware of the security implications.