preg_replace_callback
(PHP 4 >= 4.0.5, PHP 5)
preg_replace_callback -- бШОНКМЪЕР ОНХЯЙ ОН ПЕЦСКЪПМНЛС БШПЮФЕМХЧ Х ГЮЛЕМС Я ХЯОНКЭГНБЮМХЕЛ ТСМЙЖХХ НАПЮРМНЦН БШГНБЮ
нОХЯЮМХЕ
mixed
preg_replace_callback ( mixed pattern, callback callback, mixed subject [, int limit])
оНБЕДЕМХЕ ЩРНИ ТСМЙЖХХ БН ЛМНЦНЛ МЮОНЛХМЮЕР
preg_replace(), ГЮ ХЯЙКЧВЕМХЕЛ РНЦН, ВРН БЛЕЯРН
ОЮПЮЛЕРПЮ replacement МЕНАУНДХЛН СЙЮГШБЮРЭ
callback ТСМЙЖХЧ, ЙНРНПНИ Б ЙЮВЕЯРБЕ
БУНДЪЫЕЦН ОЮПЮЛЕРПЮ ОЕПЕДЮЕРЯЪ ЛЮЯЯХБ МЮИДЕММШУ БУНФДЕМХИ.
нФХДЮЕЛШИ ПЕГСКЭРЮР - ЯРПНЙЮ, ЙНРНПНИ АСДЕР ОПНХГБЕДЕМЮ ГЮЛЕМЮ.
Пример 1. preg_replace_callback() ОПХЛЕП
<?php // щРНР РЕЙЯР АШК ХЯОНКЭГНБЮМ Б 2002 ЦНДС // ЛШ УНРХЛ НАМНБХРЭ ДЮРШ Й 2003 ЦНДС $text = "April fools day is 04/01/2002\n"; $text.= "Last christmas was 12/24/2001\n";
// ТСМЙЖХЪ НАПЮРМНЦН БШГНБЮ function next_year($matches) { // ЙЮЙ НАШВМН: $matches[0] - ОНКМНЕ БУНФДЕМХЕ ЬЮАКНМЮ // $matches[1] - БУНФДЕМХЕ ОЕПБНИ ОНДЛЮЯЙХ, // ГЮЙКЧВЕММНИ Б ЙПСЦКШЕ ЯЙНАЙХ, Х РЮЙ ДЮКЕЕ... return $matches[1].($matches[2]+1); }
echo preg_replace_callback( "|(\d{2}/\d{2}/)(\d{4})|", "next_year", $text);
// ПЕГСКЭРЮР: // April fools day is 04/01/2003 // Last christmas was 12/24/2002 ?>
|
|
дНЯРЮРНВМН ВЮЯРН callback ТСМЙЖХЪ, ЙПНЛЕ ЙЮЙ Б БШГНБЕ
preg_replace_callback(), МХ Б ВЕЛ АНКЭЬЕ МЕ СВЮЯРБСЕР.
хЯУНДЪ ХГ ЩРХУ ЯННАПЮФЕМХИ, ЛНФМН ХЯОНКЭГНБЮРЭ create_function()
ДКЪ ЯНГДЮМХЪ АЕГШЛЪММНИ ТСМЙЖХХ НАПЮРМНЦН БШГНБЮ МЕОНЯПЕДЯРБЕММН
Б БШГНБЕ preg_replace_callback().
еЯКХ БШ ХЯОНКЭГСЕРЕ РЮЙНИ ОНДУНД, БЯЪ ХМТНПЛЮЖХЪ, ЯБЪГЮММЮЪ Я ГЮЛЕМНИ ОН
ПЕЦСКЪПМНЛС БШПЮФЕМХЧ, АСДЕР ЯНАПЮМЮ Б НДМНЛ ЛЕЯРЕ, Х ОПНЯРПЮМЯРБН ХЛЕМ
ТСМЙЖХИ МЕ АСДЕР ГЮЦПНЛНФДЮРЭЯЪ МЕХЯОНКЭГСЕЛШЛХ ГЮОХЯЪЛХ.
Пример 2. preg_replace_callback() Х create_function()
<?php /* ТХКЭРП, ОНДНАМШИ РНЛС, ВРН ХЯОНКЭГСЕРЯЪ Б ЯХЯРЕЛЮУ Unix * ДКЪ ОПЕНАПЮГНБЮМХЪ Б ГЮЦКЮБМШЕ МЮВЮКЭМШУ АСЙБ ОЮПЮЦПЮТЮ */
$fp = fopen("php://stdin", "r") or die("can't read stdin"); while (!feof($fp)) { $line = fgets($fp); $line = preg_replace_callback( '|<p>\s*\w|', create_function( // хЯОНКЭГНБЮМХЕ НДХМНВМШУ ЙЮБШВЕЙ Б ДЮММНЛ ЯКСВЮЕ ОПХМЖХОХЮКЭМН, // ЮКЭРЕПМЮРХБЮ - ЩЙПЮМХПНБЮРЭ БЯЕ ЯХЛБНКШ '$' '$matches', 'return strtolower($matches[0]);' ), $line ); echo $line; } fclose($fp); ?>
|
|
яЛНРПХРЕ РЮЙФЕ preg_replace() Х
create_function().
HIVE: All information for read only. Please respect copyright! |