Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP Tinymce土耳其字符问题_Tinymce_Character_Turkish - Fatal编程技术网

PHP Tinymce土耳其字符问题

PHP Tinymce土耳其字符问题,tinymce,character,turkish,Tinymce,Character,Turkish,我正在使用tinymce编辑器。它工作正常,但当我使用slug时,它工作不正常 例如当我写“TürkçeÜrün”时,我看到的结果是“T,uuml,rk,ccedil,e,uuml,r,uuml,n”,就像这样 // Slugify a string function slugify($text) { $text = str_replace('ü','u',$text); $text = str_replace('Ü','U',$

我正在使用tinymce编辑器。它工作正常,但当我使用slug时,它工作不正常 例如当我写“TürkçeÜrün”时,我看到的结果是“T,uuml,rk,ccedil,e,uuml,r,uuml,n”,就像这样

        // Slugify a string
    function slugify($text)
    {

        $text = str_replace('ü','u',$text);
        $text = str_replace('Ü','U',$text);
        $text = str_replace('ğ','g',$text);
        $text = str_replace('Ğ','G',$text);
        $text = str_replace('ş','s',$text);
        $text = str_replace('Ş','S',$text);
        $text = str_replace('ç','c',$text);
        $text = str_replace('Ç','C',$text);
        $text = str_replace('ö','o',$text);
        $text = str_replace('Ö','O',$text);
        $text = str_replace('ı','i',$text);
        $text = str_replace('İ','I',$text);

        // Strip html tags
        $text=strip_tags($text);
        // Replace non letter or digits by -
        $text = preg_replace('~[^\pL\d]+~u', '-', $text);
        // Transliterate
        setlocale(LC_ALL, 'en_US.utf8');
        $text = iconv('utf-8', 'us-ascii//TRANSLIT', $text);
        // Remove unwanted characters
        $text = preg_replace('~[^-\w]+~', '', $text);
        // Trim
        $text = trim($text, '-');
        // Remove duplicate -
        $text = preg_replace('~-+~', ',', $text);
        // Lowercase
        $text = strtolower($text);
        // Check if it is empty
        if (empty($text)) { return 'n-a'; }
        // Return result
        return $text;
    }


您尝试过实体编码吗

entity_encoding : "raw",

您尝试过实体编码吗

entity_encoding : "raw",

如果查看输入这些土耳其语字符时创建的HTML,我怀疑您没有得到预期的效果,并且处理它的代码可能没有达到预期效果

这些土耳其语字符不是普通UTF-8字符集(TinyMCE默认值)的一部分,因此它们会被编码。当我将您的内容放入TinyMCE时,它会创建以下HTML:

Türkçe Ürün
请注意,这些土耳其语字符中的每一个都已编码()


您的服务器端代码似乎希望替换“非字母”字符并删除“不需要的”字符。在我看来,您的代码正在破坏编码字符,如与(
&
)和分号(
)已从内容中删除。

如果您查看输入这些土耳其语字符时创建的HTML,我怀疑您没有得到预期的效果,并且处理它的代码可能没有达到预期效果

这些土耳其语字符不是普通UTF-8字符集(TinyMCE默认值)的一部分,因此它们会被编码。当我将您的内容放入TinyMCE时,它会创建以下HTML:

Türkçe Ürün
请注意,这些土耳其语字符中的每一个都已编码()


您的服务器端代码似乎希望替换“非字母”字符并删除“不需要的”字符。在我看来,您的代码正在破坏编码字符,因为已从内容中删除了符号(
&
)和分号(
)。我已经解决了这个代码的问题

$check_data = array('ü','Ü','ö','Ö','Ç','ç');
$change_data = array('ü','Ü','ö','Ö','Ç','ç'); 
$new_data = str_replace($check_data,$change_data,$description);

谢谢你的回答。我已经解决了这个代码的问题

$check_data = array('ü','Ü','ö','Ö','Ç','ç');
$change_data = array('ü','Ü','ö','Ö','Ç','ç'); 
$new_data = str_replace($check_data,$change_data,$description);

使用数字编码。例如,它会将ü编码为̈,并能完美工作

tinymce.init({
.........................,
  entity_encoding : 'numeric'
});

使用数字编码。例如,它会将ü编码为̈,并能完美工作

tinymce.init({
.........................,
  entity_encoding : 'numeric'
});

实际上,我已经看到了这个代码。我试着在tinymce.min.js中使用它,但我不知道它是否正确。我刚刚在tinymce.min.js的末尾添加了这段代码,在tinymce.init函数中尝试这段代码,就像链接上的示例一样。(Türksünüz sanırım.sinan。499@gmail.commail atar mısınız?)tinymce.init({selector:'textarea',//根据HTML实体编码更改此值:“raw”});使用实体_编码对我来说很有效,实际上我已经看到了这段代码。我试着在tinymce.min.js中使用它,但我不知道它是否正确。我刚刚在tinymce.min.js的末尾添加了这段代码,在tinymce.init函数中尝试这段代码,就像链接上的示例一样。(Türksünüz sanırım.sinan。499@gmail.commail atar mısınız?)tinymce.init({selector:'textarea',//根据HTML实体编码更改此值:“raw”});使用entity_编码对我来说很有效,我是否正确地假设您正在URL路径中创建一个
slug
,如?通过将内容检索为文本而不是HTML,您可以避免很多心痛和潜在的错误,有关更多详细信息,请参阅。我是否正确地假设您在URL路径中创建了一个
slug
,如?通过将内容检索为文本而不是HTML,您可以避免很多心痛和潜在的bug,有关更多详细信息,请参阅。