0
나는 보이는 문자열이 같은 :텍스트 교체
$data = '
Some string
[code=cpp]
int a = 5;
[/code]
Another string
[code=php]
echo "5";
[/code]';
그리고 2 개 인자받는 함수 : 코드 태그 언어 (CPP, PHP, ...) 내부 데이터 :
를function Foo($data, $lang) { echo ...RESULT...; }
내 Foo
기능을 사용하여 $data
내부의 모든 코드 태그를 대체하는 가장 좋은 방법은 무엇입니까? 그 결과는 다음과 같아야합니다
$data =
'Some string' .
Foo('int a = 5;', 'cpp') .
'Another string' .
Foo('echo "5";', 'php');
function Foo($matches)
{
echo SOME_ANOTHER($matches[2], $matches[1]);
}
preg_replace_callback('#\[code=(.*?)\](.*?)\[/code\]#si' , 'Foo', $data);
하지만이 코드는 코드 태그 이외의 텍스트를 저장하지 않습니다.
다른 사람들이 더 나은 방법으로 나를 도울 수있는 출발점이 될 것입니다. –
http://www.php.net/manual/en/function.preg-replace-callback.php –
@TahirYasin 알았어, 고맙습니다. – Ockonal