Я сделал это с некоторым трюком. Во-первых, я нахожу текст между тегами тела, затем меняю его на html специальные символы и сохраняю.После этого я заменить текст между тегами с [TO_BE_REPLACED] и в конце концов изменить текст, который будет заменен текстом замаскирована htmlspecialchars()
<?php
$str = '<head> <><><>& </head> <body><><>&</body>';
preg_match('/<body>(.*?)<\/body>/', $str, $match);
$special = htmlspecialchars($match[1]); // you can use html entities as well
$str = preg_replace('/<body>(.*?)<\/body>/','<body>[TO_BE_REPLACED]</body>',$str);
echo htmlspecialchars(str_replace('[TO_BE_REPLACED]', $special, $str)); //this one is only to show purpose
echo '<br>----<br>';
echo str_replace('[TO_BE_REPLACED]', $special, $str);
?>
Check demo
мне нужно это, потому что у меня есть большой xml-файл с этим <, > и & in
и simplexml_load_file() не могут прочитать файл теперь я загружаю файл с файлом, получающим контент, затем я хочу заменить preg_replace – php12345@ php12345 Возможно, что-то вроде XMLReader будет работать, см. вопрос, который я связал к. – jeroen
@ php12345 См. Мое редактирование. – jeroen