草庐IT

str_clean

全部标签

php - 如何仅在 PHP 中使用 str_replace() 删除一定次数的文本?

我试图从字符串中多次删除单词“John”。我在php手册上读到str_replace除了名为“count”的第四个参数。所以我认为可以用来指定应该删除多少个搜索实例。但事实似乎并非如此,因为:$string='HelloJohn,howareyouJohn.JohnareyouhappywithyourlifeJohn?';$numberOfInstances=2;echostr_replace('John','dude',$string,$numberOfInstances);将单词“John”的所有实例替换为“dude”,而不是只替换两次并单独留下其他两个John。就我而言,替换发

php - str_replace + 正则表达式

我有:http://stackoverflow.com/questions/43242&cat=aa&id=342342http://stackoverflow.com/questions/43242&cat=aa&body=434&id=232http://stackoverflow.com/questions/43242&cat=aa&call=2323&id=14143434我想收到:这个没有参数id的链接:http://stackoverflow.com/questions/43242&cat=aahttp://stackoverflow.com/questions/43242

php - str_replace 为 strpos?

带有strpos检查的str_replace函数可以避免额外的工作吗?方法一...if(strpos($text,$tofind)!==FALSE)$text=str_replace($tofind,$newreplace,$text);...方法二...$text=str_replace($tofind,$newreplace,$text);...问题:这两种方法都有效,但是......我想知道strpos-checking(或其他)是好方法还是坏方法,无用(和优化反模式)。 最佳答案 您可以保存一些str_replace()调用

php - 使用 php str_getcsv 函数将 csv 文件数据转换为数组

我有类似使用fputcsv创建的字符串Date,Name,Hours2013-01-02,"TestUser",7:592013-01-03,"TestUser",7:532013-01-04,"TestUser",8:122013-01-07,"TestUser",7:562013-01-08,"TestUser",8:252013-01-09,"TestUser",7:562013-01-10,"TestUser",8:102013-01-11,"TestUser",7:532013-01-14,"TestUser",7:542013-01-15,"TestUser",0:3420

php - 用 Str_Replace 替换多个单词

我想用一个特定的词替换多个同义词。结果:本田是一辆汽车。雷克萨斯是一辆汽车。日产是一辆汽车。Scion是一辆汽车。谁能告诉我用“汽车”一词替换“车辆、卡车、轿跑车、轿车”的简洁方法,而不是我单独替换所有4个。谢谢。 最佳答案 $a=array('truck','vehicle','sedan','coupe');$str='Hondaisatruck.Toyotaisavehicle.Nissanisasedan.Scionisacoupe.';echostr_replace($a,'car',str_replace('Toyota

php - 如何使用正则表达式在 PHP 中将字符串设为 "clean"?

例如假设我有$blah="C$#@#.a534&";我想过滤字符串,只过滤字母、数字和“.”继续产生“C.a534”我该怎么做? 最佳答案 如果您知道应该允许使用哪些字符,则可以使用否定字符组(在正则表达式中)删除其他所有字符:$blah=preg_replace('/[^a-z0-9\.]/i','',$blah);请注意,我正在为正则表达式使用i修饰符。它匹配不区分大小写,所以我们不需要指定a-z和A-Z。 关于php-如何使用正则表达式在PHP中将字符串设为"clean"?,我们在

php - 用 str_replace 只替换字符串的第一个字符?

我试图只替换字符串的第一个字符,但它不起作用,它替换了字符串中的所有“0”,这是我的代码:$mes2=str_replace('0','',$mes[0]);我只想替换第一个字符,例如:07becomes7我不想一直替换,例如:11becomes1,idon'twantit.我也尝试过这种方式,但它没有按照我想要的方式工作,因为如果它是0,它也会替换第二个字符,就像10变成1。$mes2=preg_replace('/0/','',$mes,1); 最佳答案 好的,根据对您问题的改进,您可能想要的是ltrim。$out=ltrim(

php - 使用带有特殊字符的字符串时,str_split() 在 PHP 中无法正常工作

我正在尝试以下内容$x="126·10⁴";$array=str_split($x);echo"x=".$x."";echo"Arraylength:".count($array)."";echo"Charset:".mb_detect_encoding($x)."";foreach($arrayas$i)echo$i."";输出为:x=126·10⁴Arraylength:10Charset:UTF-8126��10���我希望·和⁴是数组中的1个字符,如何实现?我想要达到的目的是遍历字符串的所有字符,因此也欢迎任何其他解决方案。 最佳答案

php - str_word_count() 函数不能正确显示阿拉伯语

我已经创建了下一个函数来从文本中返回特定数量的单词:functionbrief_text($text,$num_words=50){$words=str_word_count($text,1);$required_words=array_slice($words,0,$num_words);returnimplode("",$required_words);}它在英语语言中运行良好,但当我尝试在阿拉伯语中使用它时,它失败了,并且没有按预期返回单词。例如:$text_en="CairoisthecapitalofEgyptandParisisthecapitalofFrance";ech

php - 如何使用 str_getcsv() 并忽略引号之间的逗号?

这是我当前的代码。示例数据:"Bill,RoseMary","asasd,test",吐出来了Array([0]=>\"Bill[1]=>RoseMary\"bill@co.bill.ca.us[2]=>\"asasd[3]=>test\"test@co.test.ca.us[4]=>)我希望将姓名和电子邮件放在一起而不是分开。我错过了什么? 最佳答案 $da_data=str_getcsv($da_data,",","'");//^会按照你想要的方式阅读:'Bill,RoseMary','asasd,test',^^^^但您不会像