草庐IT

php - str_replace 不会替换阿拉伯字符

';$patterns=array("على","مع");$replacements=array("","");$r_string=str_replace($patterns,$replacements,$utf8_string);//echo$r_string;print_r($r_string);echo'';//$words=preg_split("/(|مع|على)/",$r_string);$words=explode("",$r_string);$num=count($words);echo'Thereare'.$num.'words.';?>我有这个代码来计算阿拉伯语

php - 为什么我的 htmlspecialchars 和 str_replace 不工作?

对于我的例子,请访问http://jflaugher.mystudentsite.net/cmweb241/cmweb241_lab2.html我只需要使用htmlspecialchars和str_replace函数来删除双引号和单引号。为什么这对我不起作用?我对PHP很陌生:/YourUsernameis:$username.";echo"YourPasswordis:$password.";echo"YourCommentwas:$comment.";?> 最佳答案 按照AlexLunix指定的相反顺序使用它$username=

php - 使用多个分隔符拆分字符串

我已经看到很多(在您将其标记为重复之前)如何执行此操作,但由于某种原因我的输出不起作用://$delimiterswanted:','|';'|','|';'|','|',and'|'and'|',and'$str='Name1,Name2;Name3;Name4,Name5,Name6,andName7,andName8andName9';$delimiter=array(',',';',';',',',',',',and','and',',and');$str_new=explode($delimiter[0],str_replace($delimiter,$delimiter[0

Php str_replace 不适用于特殊字符

为什么这没有按预期工作:echostr_replace("é","é","FédérationCamerounaisedeFootball");结果:"FédérationCamerounaisedeFootball"我希望有:"FédérationCamerounaisedeFootball" 最佳答案 你做错了。这个字符串没有错误,需要替换,它只是用UTF-8编码。您所要做的就是utf8_decode('FédérationCamerounaisedeFootball')。更新:您看到FédérationCamerou

php - PHP 中 "filter_var"和 "preg_replace"之间的后端区别是什么?

我有来自数据库(非常受控的输入)的数字,它们前后都有下划线。它们是这样存储的:_51__356_它们不会以任何其他格式存储,但有时我只需要从中获取数字。我选择使用其中之一$x=filter_var($myNumber,FILTER_SANITIZE_NUMBER_INT);或$y=preg_replace("/[^0-9]/","",$myNumber);我不确定后端两者之间的细微差别,但它们都能产生我所需要的(无论如何,我是这么认为的),所以我使用哪个并不重要。使用这些选项的优缺点是什么?(例如,是否有人使用数组或其他我可能需要了解的奇怪事物?有人使用了太多资源吗?)

PHP 强制 str_replace 只替换一个结果

这个问题在这里已经有了答案:Usingstr_replacesothatitonlyactsonthefirstmatch?(23个回答)关闭7年前。这是完美的工作:$replaceLyrics=str_replace('story','_____','ThestoryofmylifeItakeherhomeIdriveallnighttokeepherwarmandtimeIsfrozen(thestoryof,thestoryof)');echo$replaceLyrics;输出:The_____ofmylifeItakeherhomeIdriveallnighttokeepher

PHP str_replace 空格的任意组合

我想确保字符串中的/字符始终在两边填充一个空格。对于PHP,我目前使用的是str_replace,但我不能保证所有情况都适用于任意数量的空格。$original="Yes/No";echostr_replace("/","/",$original)."\n";echostr_replace("/","/",$original)."\n";echostr_replace("/","/",$original)."\n";我知道我传递给str_replace函数的第一个参数/参数是错误的,因为它没有考虑周围的字符。下面是我想要实现的一些例子:OriginalDesired==========

php - 从数组中的所有元素中删除不需要的字符

我有这个功能可以去除非法字符,而且效果很好。这是代码。我想使用PHP函数array_walk但是当我使用print_r($array)时它没有去除非法字符。这似乎有什么问题?任何想法都会有所帮助!不明白的地方请指出! 最佳答案 array_walk回调不返回任何内容,返回值也不更改值。如果要更改值,请将参数声明为引用(&$value),并在回调结束时重新分配变量。工作示例:输出:Array([references1]=>Foo1[references2]=>Foo2)或者,您可以重构并使用array_map,这将创建并返回一个新数组

php - 如何使用 preg_replace 用数组中的字符串替换子字符串? (PHP)

我有一个包含这些值的数据数组:Array([id]=>1[myid]=>9[date]=>2014-01-30[user]=>17[reason]=>sometexthere...)这个字符串包含引用数据数组索引的数字:$columns='(0)as"id",(1)as"myid",(2)as"date",(3)as"user",(4)as"reason"';是否可以更改括号中的数字,包括将括号中的数字更改为数组中的适当值?我知道如何使用(string)preg_replace((array)$patterns,(array)$replacements,(string)$subject

php - 转义某些字符不起作用

我确定这是重复的,但我无法通过搜索找到答案。这是我的代码str_replace(['',-,\(,\),\*,-,\|,\/],'',$params['电话']),'0'那行得通。我想要的是:str_replace(['',-,\(,\),/,|,\*,-,\#,\],'',$params['电话']),'0'只要我添加#或\它就会失败,并且转义它们似乎不起作用。有没有其他方法可以避开它们?虽然它看起来有效,但它似乎并没有取代初始空间。这可能是我问题的根源吗? 最佳答案 你要去掉一个空格,-,(,),*,-、|、/以及字符串中的\和