Ev' ovako
recimo da imam ovakav string
PHP kôd:
$string = "
{lang nesto=nesto_drugo}Pera{/lang}
{lang nesto=nesto_trece}Zdera{/lang}
{lang}Zvera{/lang}
";
koristim
PHP kôd:
preg_match_all('/\{lang(.*)\}(.*)\{\/lang\}/', $string, $results);
rezultat mi je ono shto zelim tj niz $results je
PHP kôd:
array (3) {
[0] => array {
[0] => '{lang nesto=nesto_drugo}Pera{/lang}',
[1] => '{lang nesto=nesto_trece}Zdera{/lang}',
[2] => '{lang}Zvera{/lang}',
}
[1] => array {
[0] => ' nesto=nesto_drugo',
[1] => ' nesto=nesto_trece',
[2] => '',
}
[2] => array {
[0] => 'Pera',
[1] => 'Zdera',
[2] => 'Zvera',
}
}
Dakle, 2gi element rezultata tj
PHP kôd:
array {
[0] => 'Pera',
[1] => 'Zdera',
[2] => 'Zvera',
}
je ono shto ja zelim da izvuchem.
... ali problem nastaje kada je string $string one liner tj
PHP kôd:
$string = "{lang nesto=nesto_drugo}Pera{/lang} {lang nesto=nesto_trece}Zdera{/lang} {lang}Zvera{/lang}";
tada mi je rezultat sledece
PHP kôd:
array (3) {
[0] => array {
[0] => '{lang nesto=nesto_drugo}Pera{/lang} {lang nesto=nesto_trece}Zdera{/lang} {lang}Zvera{/lang}',
}
[1] => array {
[0] => ' nesto=nesto_drugo}Pera{/lang} {lang nesto=nesto_trece}Zdera{/lang} {lang}',
}
[2] => array {
[0] => 'Zvera',
}
}
Kao sto vidite ne dobijam ono shto zelim, a to su stringovi unutar "lang" taga.
Ima li neko ideju kako da resim ovo?
Okacicu php fajl uskoro, ako je ovo konfuzno