我使用string[0]来缩短和显示用户名/姓氏的第一个字符。在用户名以ö、ä、ü等特殊字符开头之前,它一直很有效。例如:$name='über';echo$name[0];//echoesnothing与此同时,我正在使用mb_substr($string,0,1)。但我真的很想念$name[0]:)。它更快更短。我仍然想知道原因是什么,是否有办法将这种语法与特殊字符一起使用。 最佳答案 字符ü不是单字节字符。它是一个多字节(两个字节)的字符。您正试图访问字符串的第一个字节,因此它不起作用。正是出于这个原因,设计了mb_subst
我想将电子邮件地址编码成相应的字符代码,因此当它被打印时,浏览器会解释字符代码,但机器人得到的是编码字符串而不是解释后的字符串。例如(一):abc@abc.com应该作为(2)发送到浏览器(添加空格以便浏览器显示它):abc@abc.com所以人类阅读(1)而网络机器人阅读(2)应该有一个简单的函数或方法来执行此操作,但找不到。 最佳答案 你可以试试这个: 关于php-将字符串编码为字符代码,我们
$status的输出Array([1]=>1[2]=>0[3]=>0[4]=>4[5]=>4)$color_code_string=implode(",",$status);输出1,0,0,4,4$color_code_string=str_replace("0","'#F00'",$color_code_string);$color_code_string=str_replace("1","'#00bcd4'",$color_code_string);$color_code_string=str_replace("2","'#4caf50'",$color_code_string);
我必须比较两个字符串,例如INTU和IXTE并检查两个或多个字符是否相同。对于前两个字符串,我想返回true,因为I和T是相同的。字符串中字母的顺序最终变得无关紧要,因为每个字符不能出现在字符串中的不同位置。似乎应该有一种简单的方法可以做到这一点。 最佳答案 查看similar_text()。以下代码未经测试,但我认为它会如您所愿地工作。$a="INTU";$b="IXTE";$is_match=(similar_text($a,$b)>=2); 关于php-比较四个字符的字符串时,有什
我有一个以前的程序员编写的代码,一个抛出编译错误的正则表达式preg_match:$regex_t="/".$op."(?\\>[^".$op.$cl."]+)*".$cl."/s";preg_match($regex_t,$text,$inner);我收到的警告是:Warning:preg_match():Compilationfailed:unrecognizedcharacterafter(?or(?-atoffset4另外,我想提一下var_dump($regex_t)的值是:string'/\{(?\>[^\{\}]+)*\}/s'(length=21)
我需要在PHP中转换一个特殊字符,如ă->a、â->a、Ş->t和等等。我特别需要这个链接,所以任何帮助将不胜感激。 最佳答案 当我想获取纯文本(来自utf-8)时,我正在使用iconv.iconv('utf8','ascii//TRANSLIT',$text);如果它只用于您的url,urlencode可能是一个更好的主意。 关于php-如何去除字符的重音?(只保留英文字母字形),我们在StackOverflow上找到一个类似的问题: https://sta
我在for循环中读取了一系列.txt文件。我在一些文本文件中放置了一个token,格式为[widget_]因此,例如,文本文件的全部内容可能是[widget_search]。另一个文本文件可能包含内容[widget_recent-posts]。其他人可能只有html格式的文本,根本没有token。在for循环中,我正在执行preg_match以查看文本文件的内容是否与我的标记模式匹配。如果匹配,我将执行一些条件代码。但是,当我运行跟踪测试以查看是否存在匹配时出现错误。错误是:警告:preg_match()[function.preg-match]:编译失败:在C:\xampplite\
我正在尝试从字符串中删除所有少于3个字符的单词,特别是使用RegEx。以下不起作用,因为它正在寻找双空格。我想我可以事先将所有空格转换为双空格,然后再将它们转换回来,但这似乎效率不高。有什么想法吗?$text='anofandthensomeaneehalvedororwhenever';$text=preg_replace('@[a-z]{1,2}@','',''.$text.'');echotrim($text); 最佳答案 删除短词你可以使用这个:$replaced=preg_replace('~\b[a-z]{1,2}\b\
我不确定如何命名我需要的东西,我想在PHP中将字符转换为更“正常”的字符集,例如:ştobecomesţtobecomet,ătobecomea我有罗马尼亚城镇名称,我想在URL中使用更多“正常”字符。我想我想将罗马尼亚字符转换为美国字符(或调用它的正确名称)。 最佳答案 你要做的就是音译。国际扩展中有一个音译器(仅限PHP5.4):http://www.php.net/manual/en/transliterator.transliterate.php例子:$str='àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄ
我收到以下消息:DisallowedKeyCharacters并且生成该消息的字符串似乎是__utmt_~42我只是想加载页面,但我终究无法弄清楚为什么会这样。它不知从何而来。我怎样才能找到它的来源? 最佳答案 按照以下步骤操作在/system/core/Input.php上搜索function_clean_input_keys将此exit('DisallowedKeyCharacters.');更新为exit('DisallowedKeyCharacters.'.$str); 关于ph