如何在php中删除字符? (str_replace函数不起作用)

问题描述 投票:0回答:2

“ contentDetails”中包含以下数据:

<p>This is data sample.&nbsp;</p><p>Second part of the paragraph.&nbsp;</p>

str_replace在这里不起作用。请看看。

这是我在php中的xml结构如何:

$xml = <?xml version="1.0" encoding="UTF-8">;
$xml = '<root>';
$xml = '<myData>';
$xml .= <content> . str_replace("&nbsp;", "", htmlentities($_POST[contentDetails])) . </content>
$xml = '</myData>';
$xml = '</root>';
php str-replace
2个回答
1
投票

我假设您的contentDetails实际上包含:

<p>This is data sample.&nbsp;</p><p>Second part of the paragraph.&nbsp;</p>

[($nbsp;替换为&nbsp;

您的问题是,当您在htmlentities上调用contentDetails时,会将&nbsp;转换为&amp;nbsp;,因此您的str_replace将找不到任何匹配项。要解决此问题,请在str_replace之前调用htmlentities

$xml .= '<content>' . htmlentities(str_replace("&nbsp;", "", $_POST['contentDetails'])) . '</content>';

请注意,关联数组键应用引号引起来;这将立即引起警告,但将来的PHP版本将出现错误。


1
投票

htmlentities()函数转换&nbsp;到&amp; nbsp; ---所以试试这个...

str_replace("&amp;nbsp;", "", htmlentities($_POST[contentDetails]))

© www.soinside.com 2019 - 2024. All rights reserved.