如何更换'使用str_replace php的另一个特殊字符

时间:2012-03-19 09:31:26

标签: php str-replace

我有一个收到帖子标题的功能,当帖子标题长度超过40个字符时剪切它。该函数非常有效,除非字符串中包含'

这是浏览器在原始页面中显示标题的方式(在“剪切”之前)

dall'high-tech all'high-car, bla bla bla bla bla bla bla bla bla bla bla

当字符串传递给函数并且函数在第40个字符处剪切时,返回的字符串非常短:

dall'high-tech

我使用substr()在第40个字符后剪切它:

substr($my_string, 0, 40);

我认为问题与字符串中的'字符有关。我尝试使用

'字符替换为chr(134)
str_replace("'", chr(134), $my_string);

str_replace()无法将'替换为。 (我也尝试使用\'chr(39)代替',并使用B代替chr(134)。)

所以,现在我不知道该怎么办。我花了5个小时试图解决这个问题。我相信有人之前已经完成过,可能会帮助我。

谢谢

1 个答案:

答案 0 :(得分:2)

在执行substr()之前尝试执行此操作:

$my_string = html_entity_decode($my_string, ENT_QUOTES);

尝试的另一个选择是使用mb_substr(),它根据字符数执行多字节安全substr()操作。