如何使用PHP为SEO目的最佳解码字符串中的特殊字符


How to Best Decode Special Characters in a String for SEO Purposes using PHP

我有一个正在运行的CMS。我看到我的CMS用户正在输入来自copy&在Word等中粘贴操作

因此,在元描述内容属性中,我看到一个菱形代替了一个倾斜的右引号。

我进入数据库,将单引号更改为’

例如,我的CMS现在呈现it’s

我试图在渲染过程中使用PHP的htmlentities()、htmlspecialchars_decode()和html_entity_decode()对字符串进行转换。

每个清理指令都简单地呈现CCD_ 3。

有没有一个PHP函数我应该用来翻译?这有关系吗?也就是说,我可以在元标签中有html代码,这对SEO至关重要吗?

希望这是清楚的。。。感谢您的反馈。

这是我出于同样的原因而制作的。如果你愿意在他们的帖子中保留HTML,你可以删除strip_tag()行。

function convert_to_plaintext($message)
  {
    $message = strip_tags($message);
    //Quotes: Replace smart double quotes with straight double quotes.
    //ANSI version for use with 8-bit regex engines and the Windows code page 1252.
    preg_replace('['x84'x93'x94]', '"', $message);
    //Quotes: Replace smart single quotes and apostrophes with straight single quotes.
    //ANSI version for use with 8-bit regex engines and the Windows code page 1252.
    preg_replace("['x82'x91'x92]", "'", $message);
    //Quotes: Replace straight apostrophes with smart apostrophes
    preg_replace("/('b''b)/", "?", $message);
    //Quotes: Replace straight double quotes with smart double quotes.
    //ANSI version for use with 8-bit regex engines and the Windows code page 1252.
    preg_replace('/('B"'b([^"'x84'x93'x94'r'n]+)'b"'B)/', '?'1?', $message);
    //Quotes: Replace straight double quotes with smart double quotes.
    //Unicode version for use with Unicode regex engines.
    //preg_replace('/('B"'b([^"'u201C'u201D'u201E'u201F'u2033'u2036'r'n]+)'b"'B)/', '?'1?', $message);
    $message = str_replace(array('%u201C','%u201D','%u201E','%u201F','%u2033','%u2036'),'"',$message);
    //Quotes: Replace straight single quotes with smart single quotes.
    //Unicode version for use with Unicode regex engines.
    //preg_replace("/('B''b([^''u2018'u2019'u201A'u201B'u2032'u2035'r'n]+)'b''B)/", "?'1?", $message);
    $message = str_replace(array('%u2018','%u2019','%u201A','%u201B','%u2032','%u2035'),"'",$message);
    //Quotes: Replace straight single quotes with smart single quotes.
    //ANSI version for use with 8-bit regex engines and the Windows code page 1252.
    preg_replace("/('B''b([^''x82'x91'x92'r'n]+)'b''B)/", "?'1?", $message);
    $message = str_replace("'n'n'n","'n'n",$message);
    $message = str_replace("'n'n'n","'n'n",$message);
    $message = str_replace("'n'n'n","'n'n",$message);
    $message = str_replace("'n'n'n","'n'n",$message);
    $message = str_replace("'n'n'n","'n'n",$message);
    $message = str_replace("'n",'<br/>',$message);
    return $message;
  }