Я пытаюсь заменить что-то вроде:PHP проблема str_replace/preg_replace с PHP открытых тегов
$text = "Hello <--name--> !!";
echo str_replace("--","?",$text);
ОЖИДАЕТСЯ:
Hello <?name?> !!
Результат:
Hello !!
(Я проверка исходного кода, и у меня есть короткие открытые теги)
Я пробовал так много способов, но кажется, что я никогда не смогу получить результат <?
(или <?php
). Я думаю, что это может быть связано с патчем Suhosin, который включен по умолчанию в Ubuntu. Прежде чем делать что-либо еще, кто-то знает, как заставить это работать?
спасибо.
UPDATE:
Я попытался непосредственно в командной строке, и она работала. Да, проблема заключалась в том, что что-либо между php-тегами не отображается в браузере (Chrome), даже в исходном коде.
echo "A <"."?"."php"." echo 1 "." ?".">"." B";
В Chrome отображает «A B» при взгляде на исходный код. Но Firefox отображает его полностью ... Итак, вкратце Chrome меня обманул;)
Спасибо !!!
Извините, что я должен был выбрать лучший ответ ... но для меня 3 ответа были правильными.
Добавлено и ОБНОВЛЕНИЕ. – lepe