草庐IT

php - 获取字符串中的第一个字母(该字符串包含阿拉伯字母)

我正在尝试检索字符串的第一个字母。我目前的简单功能是:functionidar($word){returnsubstr($word,0,1);}但是,我发现这个函数对阿拉伯字母不起作用!它对我没有任何返回。例如尝试单词“محمد”,它假设返回“م”作为第一个字母。是否有另一种方法可以返回任何语言的字符串的首字母? 最佳答案 使用mb_substr:$str='محمد';var_dump(mb_substr($str,0,1,'utf8'));//string(2)"م"Onlinedemo

php - 查找字符串中未使用的所有字母

我希望能够做这样的事情:$str="abc";echofindNot($str);//willecho"defghijklomnopqrstuvwxyz"$str2="happybirthday";echofindNot($str2);//willecho"cfgjklmnoqsuvwxz"基本上,它会找到所有未在字符串中表示的字母,并以数组或字符串的形式返回它们。我可以使用foreach和字符数组轻松地做到这一点,但我想知道是否有人有更优雅的解决方案。 最佳答案 这是我想出的。functionfindNot($str){retur

php - 正则表达式:如果字母与数字相邻则添加空格

我使用的是PHP,但不太擅长使用正则表达式。我需要一个可以在字母或数字相邻时添加空格的preg_replace。这些是场景:mystreet12->mystreet12mystreet38B->mystreet38Bmystreet16c->mystreet16cmystreet8->mystreet8谢谢。 最佳答案 您可以使用环视来匹配这样的位置:preg_replace('/(?根据您定义“字母”的方式,您可能需要调整[a-z]。需要Lookarounds才能使其与以下字符串一起正常工作:0a1b2c3没有的解决方案会失败。​

php - preg_match 只允许字母、空格和破折号和空格

我知道如果$stringabc包含除数字以外的任何内容,我当前使用的一个条件是:if(preg_match("/[^0-9]/",$stringabc))我想要一个if条件,如果$stringdef包含除字母、空格和破折号(-)以外的任何内容,它会给出错误。 最佳答案 那就是:if(preg_match('/[^a-z\s-]/i',$stringabc))“除字母(a-z)、空格(\s,表示任何类型的空格)和破折号(-)之外的任何内容”。也允许数字:if(preg_match('/[^0-9a-z\s-]/i',$stringab

php - 从字符串中获取两个字母

我有一个像这样的字符串:12121212我只想得到1111,第一个字母,然后是第三个,然后是第五个……一个字母加两个字母。这个有什么功能吗?我正在使用str_split然后我取数组的第一个字母,但它不是很干净。谢谢。这是我现在的代码,但它不是很灵活:functionloop_n_letter($string,$n){$return='';$array=str_split($string);foreach($arrayas$i=>$row){if($i%$n==0){$return.=$row[0];}}return$return;} 最佳答案

php - 用于匹配字母数字字符、下划线、句点和破折号的正则表达式,只允许在中间使用点和破折号

目前,我正在使用这个:if(preg_match('/^[a-zA-Z0-9_]+([a-zA-Z0-9_]*[.-]?[a-zA-Z0-9_]*)*[a-zA-Z0-9_]+$/',$product)){returntrue;}else{returnfalse}比如我要匹配:pro.duct-name__pro.duct.namep.r.o.d_u_c_t.n-a-m-eproduct.-name____pro.-_-.d___uct.nam._-e但我不想匹配:pro..ductname.productname--productname.-productname

php - 仅字母的 laravel 验证规则

我正在尝试添加验证规则以仅接受字母。我正在使用regex规则,但它仍然无法正常工作。下面是我的代码:/***Validaterequest/input**/$this->validate($request,['name'=>'required|regex:/^[\pL\s\-]+$/u|max:255|unique:users,name,'.$user->id,'email'=>'required|email|max:255|unique:users,email,'.$user->id,]);每当我输入一个像FooFoo这样的名字时,它仍然注册成功。知道我做错了什么吗?

php - 为什么网站使用随机字母数字 ID 而不是数据库 ID 来识别内容?

为什么像YouTube、Imgur和大多数其他网站使用随机字符作为它们的内容ID,而不是像MySQL中自动递增创建的那样只是序列号?解释一下我的意思:在网址中:https://www.youtube.com/watch?v=QMlXuT7gd1I末尾的QMlXuT7gd1I表示该页面上的特定视频,但我假设该视频在数据库中也有一个唯一的数字ID。他们为什么要创建和使用这个字母数字字符串,而不是只使用视频的数据库ID?我正在创建一个网站来识别上述URL中的内容,但我目前只使用数据库ID。我正在考虑改用随机字符串,因为所有主要网站都这样做,但我想在实现之前知道为什么这样做。谢谢!

php - 获取字符串中每个单词的第一个字母

如何获取给定字符串的每个单词的第一个字母?$string="CommunityCollegeDistrict";$result="CCD";我找到了javascript方法,但不确定如何将其转换为php。 最佳答案 explode()在空格上,然后使用适当的子字符串方法访问每个单词的第一个字符。$words=explode("","CommunityCollegeDistrict");$acronym="";foreach($wordsas$w){$acronym.=mb_substr($w,0,1);}如果您期望多个空格可以分隔单

php - 按字母顺序对具有相同值的键进行排序

我有一个数组,我已经使用arsort排序,因此具有最高整数的值首先显示,最低整数显示最后我现在的问题是我需要按字母顺序对键进行排序,但仍保留按值排序的顺序。在使用arsort按值排序之前,我尝试使用krsort按字母顺序对键进行排序,但这仍然给我相同的输出这是我的原始数组在应用array_count_values之前的样子array(5){[0]=>string(7)"Romance"[1]=>string(7)"Romance"[2]=>string(7)"Classic"[3]=>string(6)"Comedy"[4]=>string(6)"Comedy"}结果是这样的array