草庐IT

php - 第一个字母如果有重音则消失(CSV 文件,UTF-8 编码)

我实际上正在使用zend框架开发一个用php编码的Web应用程序。我需要用法语和英语翻译每一页,所以我使用csv文件来完成。我的问题是,当单词以É或À等重音字母开头时,字母会消失,但会显示单词的其余部分。例如,如果我的csv文件包含Écriture,它显示criture.但是如果我有exécution,它显示exécution没有任何问题。每次我想在我的View中显示文本时,我只需调用translate('linetocallincsv');?>并显示我的文字。就像我说的,我的应用程序是用UTF-8编码的,我对特殊字符没有任何问题,除非它们是第一个。我用谷歌搜索了它,但目前找不到任何东

php - 在带有重音符号的 substr() 文本后显示有趣的字符

我正在使用substr()函数来剪切字符串。它对普通字符串工作正常,但如果字符串带有重音符号,它会在剪切之前显示有趣的字符,如下所示:代码如下:$rawtitle="Tinđăngcủagiangvy1011tincủadtdd";$title=substr($rawtitle,0,36).'...';echo$title;这是我得到的echo结果:有什么办法可以解决这个问题或使用其他功能来实现这个目标吗?非常感谢 最佳答案 substr不是多字节安全的。字符ủ由多个字节表示。使用substr,您可以剪切这些字节序列并损坏字符串。您

php - str_replace() 不会用重音替换字符

我有一个非常长的html字符串,它由希腊语和英语文本组成,大部分单词都带有html标签。我过去曾成功地使用下面的函数从文本中删除希腊语重音符号,从而使大写字母变得漂亮。然而,在这段文本中,在某些字符之后,替换停止发生,文本返回时带有重音符号。我也尝试了一些我在网上找到的其他功能,但没有成功。有什么帮助吗?我使用的函数是:publicstaticfunctionstripAccents($str){$a=array('ά','έ','ή','ί','ύ','ό','ώ','ς','Ά','Έ','Ή','Ί','Ύ','Ό','Ώ');$b=array('α','ε','η','ι','

php - 如何去除字符的重音? (只保留英文字母字形)

我需要在PHP中转换一个特殊字符,如ă->a、â->a、Ş->t和等等。我特别需要这个链接,所以任何帮助将不胜感激。 最佳答案 当我想获取纯文本(来自utf-8)时,我正在使用iconv.iconv('utf8','ascii//TRANSLIT',$text);如果它只用于您的url,urlencode可能是一个更好的主意。 关于php-如何去除字符的重音?(只保留英文字母字形),我们在StackOverflow上找到一个类似的问题: https://sta

php - 转换带重音符号的外来字符

我正在尝试将一些文本与数据库中的文本进行比较。在数据库中,任何带重音的文本都像HTML一样编码(即é),当我将数据库文本与我的字符串进行比较时,它不匹配,因为我的字符串只显示é。当我首先使用PHP函数htmlentities对字符串进行编码时,é变成了é很奇怪?使用htmlspecialchars根本不会对é进行编码。您如何建议我将é与é以及所有其他重音字符进行比较? 最佳答案 您需要将正确的字符集发送到htmlentities。看起来您使用的是UTF-8,但默认值为ISO-8859-1。像这样改变它:$encoded=htmlen

php - 使用带有重音文件名的 md5_file() 函数

在我的PHP脚本中,我使用md5_file()函数为每个分析的文件返回一个md5key。但是,当文件名中有重音符号时,md5_file()函数无法读取该文件。//filename:Flash_Conquête_Galactic.txtWarning:md5_file(.....):failedtoopenstream:Nosuchfileordirectoryin我尝试使用iconv()函数或utf8_encode()函数,但都没有结果。有什么办法可以在不修改文件名的情况下解决这个问题吗? 最佳答案 看起来$filename可能以某

php - 不同版本的 php 之间 DOMDocument 中的重音问题

我在php中有一个使用XML(DOMDocument)的旧大型应用程序。该应用程序适用于PHP5.2.5$dom=newDOMDocument("1.0","iso-8859-15");$dom->formatOutput=true;...$node->setAttribute('attr','value_with_éàè');$str=$dom->saveXML();$str被发送到Flex,一切正常。现在,我们必须更换服务器。PHP的新版本是5.2.13。在此版本中,函数setAttribute失败。(字符串不是utf-8.......)如果我看$str,字符串会在第一个重音处被截

PHP - 检查字符串是否为多字节字母数字字符

我需要查明一个字符串是否只包含一个字母数字字符。显而易见的解决方案是检查长度和ASCII码(A-Z、a-z、0-9)——但问题是我我正在处理UTF-8字符串和重音字母,例如á、ř、č等是否有一种简单的方法来检查UTF-8字符是否为字母数字(拉丁字母,可能带有重音符号或数字)? 最佳答案 这很容易用regularexpression完成:$count=preg_match_all('/\w/u',$string);if($count===1){echo"Onealphanumericcharacterfound";}\w将匹配任何“单

php - 正则表达式和重音

我正在研究一个词审查器。我有这段文字:$str="Jeconnaiscecondeconémi".如果“con”是一个完整的单词,而不是另一个单词,我想替换它。如果我这样做:preg_replace("/\b(con)\b/i","###",$str);结果是:"Jeconnaisce###de###émi".Conémi已被审查。这是因为conémi的“é”。 最佳答案 只需添加u正则表达式修饰符preg_replace("/\b(con)\b/iu","###",$str)^---hereitis或者替代解决方案是使用PCREu

php - 使用 PDFlib + PHP 在 PDF 中生成重音符号和 ç

我编写了以下代码来传递一个字符串,它以pdf格式生成我的行:functiontext_block($p,$text,$xcrd,$ycrd){$font_size=24;//fontsize,usedtospacelinesonyaxis$tmplines=explode("\n",$text);for($j=0;$j1512){$p->fit_textline($str,$xcrd,$ycrd,"");$str="";$ycrd-=$font_size;}}$p->fit_textline($str,$xcrd,$ycrd,"");$ycrd-=$font_size;}return$