我的数据库正在返回一些字符串,如:
This is a string
当字符串足够长并且您设置了最大宽度时,这是一个问题:
<p style="width:50px">This is a string</p>
为了搭乘
个实体,我尝试使用以下过滤器而未成功:
$new = preg_replace("/ /i", " ", $str);
$new = str_replace(' ', ' ', $str);
$new = html_entity_decode($str);
你有一个PHP fiddle to see this in action(我必须在数据库输出中用十六进制编码字符串;字符串是西班牙语,对不起)。
如何处理?为什么html_entity_decode()
无效?那么替换功能呢?感谢。
答案 0 :(得分:11)
这很棘手,它不像更换普通字符串那么直接。
试试这个。
str_replace("\xc2\xa0",' ',$str);
或者这个,上面应该有效:
$nbsp = html_entity_decode(" ");
$s = html_entity_decode("[ ]");
$s = str_replace($nbsp, " ", $s);
echo $s;
@ref:https://moovwebconfluence.atlassian.net/wiki/pages/viewpage.action?pageId=1081435
答案 1 :(得分:0)
让html实体替换您想要的实体,然后解码回去:
$str = str_replace(' ', ' ', htmlentities($new));
$new = html_entity_decode($str);
答案 2 :(得分:-2)
我认为strip_tags($string)
会为你完成这项工作。此函数用于删除html和php标记。