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


how to replace ' with another special character using str_replace php

我有一个函数,它接收一个帖子标题,并在帖子标题超过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()操作。