Я думаю, что проблема связана с моей логикой, и я, вероятно, ошибаюсь. То, что я хочу, чтобыМожно ли использовать str_replace во всех узлах xml с php?
- открыть документ XML с PHP
- получить элементы по имени тега
- затем для каждого узла, который имеет дочерние узлы
- заменить каждую букву
a
сა
каждыйb
сბ
и так далее.
вот код, который у меня есть, но он не работает.
xmlDoc=loadXMLDoc("temp/word/document.xml");
$nodes = xmlDoc.getElementsByTagName("w:t");
foreach ($nodes as $node) {
while($node->hasChildNodes()) {
$node = $node->childNodes->item(0);
}
$node->nodeValue = str_replace("a","ა",$node->nodeValue);
$node->nodeValue = str_replace("b","ბ",$node->nodeValue);
$node->nodeValue = str_replace("g","გ",$node->nodeValue);
$node->nodeValue = str_replace("d","დ",$node->nodeValue);
// More replacements for each letter in the alphabet.
}
Я думал, что это может быть из-за нескольких str_replace()
вызовов, но он не работает с даже только один. Неужели я об этом не ошибаюсь или что-то пропустил?
ааа это выглядит хорошо, так будет это по-прежнему применять замену к каждому ш: т теге – gcoulby
@gcoulby: Да; почему бы вам не попробовать и не увидеть? –
Мне пришлось покинуть дом. я вернусь через час, и я обновлю вас. и отметьте как правильно, как только он сработает, и я уверен, что он это сделает. – gcoulby