xml - 将 <br> 替换为 sed 中的 \n 或 XML 文件中的 PHP
问题描述
我的<br>
标签<br>
在导出 XML 文件后变成了。我想<br>
用\n
这是一个字符串的示例,其中发生了这种情况:
to download the ~ <br>to mark on the ~ <br>to attach/enclose the ~
我想要:
to download the ~ \nto mark on the ~ \nto attach/enclose the ~
在做了一些研究后,我在 PHP 中尝试了以下方式:
$filexml='myfile.xml';
$oldxml = simplexml_load_file($filexml);
$xml = simplexml_load_string ( str_replace( "<br>", "\n", $oldxml->asXml() ) );
$xml->asXml('updated.xml');
没有字符串被替换,updated.xml 与 myfile.xml 具有相同的内容。
我尝试使用 sed 替换字符串:
sed -i "s/<br>/\n/g" myfile.xml
同样没有字符串被替换,myfile.xml 保持原样。
如果有人有答案,我将不胜感激!
解决方案
您可以通过 Stream 编辑器尝试以下命令:
sed -i 's/original/new/g' file.txt
解释:
- sed = 流编辑器
- -i =就地(为了保存回原始文件)
- s = 替代命令
- original = 要替换的表达式或单词
- new = 要替换的文本
- g = global(替换所有匹配项,而不仅仅是第一次出现
- file.txt = 文件名
编辑 1
这个解决方法让我得到了你要求的结果,请测试它:
$str = "<br>to mark on the ~ <br>to attach/enclose the";
$str1=str_replace( "<br>", "\\n", $str);
str_replace ("<br>", "\\n", $str1);
echo $str1;
请问您使用哪个应用程序来提取 XML 文件?
推荐阅读
- ruby-on-rails - Rails minitest assert_equal assert_match 正则表达式问题
- sas - 在 SAS 中,如何仅针对“by”变量的某些值制作频率表?
- laravel - 在使用 spatie webhook 客户端和 ngrok 测试 webhook 时,我一直找不到 404
- c++ - 为什么编译器优化会破坏我的代码?
- git - 使 git pull --recurse-submodules 更新子模块到子模块分支上的最新提交
- excel - 如果未找到错误,则在列中的单元格中搜索单词
- javascript - javascript element.scrollBy 不滚动给定距离
- upload - gsutil rsync 尝试在将源迁移到新存储后重新上传所有内容
- python - 基于数组值的不同颜色和 alpha 值
- rust - 在涉及线和地图的情况下对所有权感到困惑