“ contentDetails”中包含以下数据:
<p>This is data sample. </p><p>Second part of the paragraph. </p>
str_replace在这里不起作用。请看看。
这是我在php中的xml结构如何:
$xml = <?xml version="1.0" encoding="UTF-8">;
$xml = '<root>';
$xml = '<myData>';
$xml .= <content> . str_replace(" ", "", htmlentities($_POST[contentDetails])) . </content>
$xml = '</myData>';
$xml = '</root>';
我假设您的contentDetails
实际上包含:
<p>This is data sample. </p><p>Second part of the paragraph. </p>
[($nbsp;
替换为
)
您的问题是,当您在htmlentities
上调用contentDetails
时,会将
转换为&nbsp;
,因此您的str_replace
将找不到任何匹配项。要解决此问题,请在str_replace
之前调用htmlentities
:
$xml .= '<content>' . htmlentities(str_replace(" ", "", $_POST['contentDetails'])) . '</content>';
请注意,关联数组键应用引号引起来;这将立即引起警告,但将来的PHP版本将出现错误。
htmlentities()函数转换&nbsp;到&amp; nbsp; ---所以试试这个...
str_replace("&nbsp;", "", htmlentities($_POST[contentDetails]))