dan*_*tra 1 php xml replace newline simplexml
我知道这可能是一个非常简单的问题,但我仍然找不到解决方案......好吧,我会简短一点:假设有一个如此结构化的XML文件:
<root><item><text>blah blah blah
blah blah blah
blah blah blah
...</text></item></root>
Run Code Online (Sandbox Code Playgroud)
我的XML显然更复杂,但这并不重要,因为我的问题是:如何
用例如html <br>标签替换那些?
我正在使用SimpleXML从XML读取数据并尝试使用:
echo str_replace("
", "<br>", $message->text);
Run Code Online (Sandbox Code Playgroud)
甚至:
echo str_replace("\n", "<br>", $message->text);
Run Code Online (Sandbox Code Playgroud)
但没什么......
我需要使用SimpleXML.

表示ASCII"回车"字符(ASCII代码13,D十六进制),有时写入"\r",而不是"换行"字符"\n"(ASCII 10或A十六进制).请注意,当向SimpleXML询问节点的字符串内容时((string)$node或者隐含地使用类似的语句echo $node),它会将此"实体"转换为它所代表的实际字符.
根据您的平台(Windows,Linux和MacOS的,等等),标准行结束,通过内置在不断的访问PHP_EOL,将是要么"\n","\r\n"或"\r".
使用HTML linebreak tags(<br>)替换这些字符的最安全方法是替换任何这些字符,因为您不知道XML数据源可能使用的是哪种约定.
PHP有一个内置函数,应该可以为你做这个,称为nl2br().如果你想要一个稍微定制的版本,那么"ngkongs"的文档中会有一条评论,显示如何使用str_replace类似的效果.
| 归档时间: |
|
| 查看次数: |
19804 次 |
| 最近记录: |