headstik, ищите этап на котором <jdoc:include type="modules" name="left" style="rounded" /> преобразовывается в результируемый хтмл, и уже когда вы получаете в переменную вот этот код
Если бы мне это было по плечу, я бы сюда не лез с такими вопросами. Может создать отдельный файл с данным кодом и вызвать его внутри функции или присвоить переменной (если такое возможно конечно)?
snikers987
текст не заменяется, хотя меню по прежнему выводится, а при комментировании строки №9 меню пропадает.
Выходит как говорит Мелкий - результирующий html не выводится.
Но ведь должен же быть какой-то выход.
0) ваша функция foo ничего не возвращает -> str_replace оперирует null'ом. После приведения типов - пустая строка.
1) str_replace изменённую строку возвращает. А не изменяет переданную.
2) в любом случае в $a не содержится $b.
3) На правах пророка - используется какой-то шаблонизатор, т.к. html-ом представленный фрагмент так же не является.
Хотелось бы возразить по некоторым пунктам на следующих основаниях:
0) вышеуказанный код хотя и не заменяет необходимый текст, но меню выводит, а при заключении строки str_replace($b,$c,foo($a)); в комменты меню вообще не выводится;
1) так мне и нужна измененная строка;
2) результат вывода строки <jdoc:include type="modules" name="left" style="rounded" /> следующий:
Имеется исходный код на html:
<jdoc:include type="modules" name="left" style="rounded" />
который отвечает за отображение меню на сайте.
Преследуется цель заменить определенный участок кода результата данного выражения. Пишу следующее:
<?php
$a='<jdoc:include type="modules" name="left" style="rounded" />';
$b="Новые фото"; // искомый текст
$c="New photo"; // вставляемый текст
function foo($d) {
echo $d;
}
str_replace($b,$c,foo($a)); // здесь заменяем текст
?>
Результат - ноль. Все выводится как и прежде. В чем может быть ошибка?
А если, например, для функции func($a = 8, $b = 4, $c = 9, $d = 5, $e = 6) мне необходимо заменить значение третьего аргумента $c, а остальные оставить по умолчанию. Как будет вызываться функция в этом случае?