我有一个函数,它接收一个帖子标题,并在帖子标题超过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个小时试图解决这个问题。我相信有人以前经历过,可能会帮助我。
感谢
在执行substr()之前尝试执行此操作:
$my_string = html_entity_decode($my_string, ENT_QUOTES);
另一个尝试的选项是使用mb_substr(),它根据字符数执行多字节安全的substr()操作。