Всем привет. Подскажите пожалуйста, как произвести замену значений в тегах? У меня есть массив оригинальных строк и уже переведенных, саму замену произвожу в файле. Пробовал через str_replace но он меняет все найденные совпадения, получается нечто: <ТекстBlock ТекстWrapping="Wrap">Цвет</ТекстBlock> )))
Оригинальные значения искал через preg_match_all, после сохранял в базу и делал перевод
1. fullzero - 22 Января, 2017 - 18:50:34 - перейти к сообщению
пример файла
CODE (htmlphp):
скопировать код в буфер обмена
скопировать код в буфер обмена
- <TextBlock TextWrapping="Wrap">Color</TextBlock>
- <TextBlock>Greed</TextBlock>
- <Label>Text</Label>
- и прочие поля
Попытка произвести замену
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $query = "SELECT `en`,`ru` FROM `#__translate` WHERE ru!=\"\"";
- $db->setQuery($query);
- $row = $db->loadObjectList();
- $patterns[0] = '/<GroupBox Header="'.$row[$i]->en.'"(.*?)>/';
- $patterns[1] = '/<Label(.*?)="'.$row[$i]->en.'"(.*?)\/>/';
- $patterns[2] = '/<TextBlock(.*?)>'.$row[$i]->en.'<\/TextBlock>/';
- $replacements[0] = '/<GroupBox Header="'.$row[$i]->ru.'"(.*?)>/';
- $replacements[1] = '/<Label(.*?)="'.$row[$i]->ru.'"(.*?)\/>/';
- $replacements[2] = '/<TextBlock(.*?)>'.$row[$i]->ru.'<\/TextBlock>/';
- }