草庐IT

str_replacing

全部标签

php - parse_str 随机向键添加分号

我将查询字符串作为查询字符串的一部分传递给PHP脚本。有点像这样:$.post('/url',{id:postIDfilters:$('#form').serialize()});然后在我的PHP中,我使用parse_str读取filters:input->post('id');parse_str($this->input->post('filters'),$filters);问题是parse_str将;随机添加到键中。我得到这样的结果:array(4){["users"]=>string(0)""["companies;"]=>string(0)""["pref;_123"]=>st

php - 反向preg_replace

我有这样的正则表达式:^page/(?P\d+)-(?P[^\.]+)\.html$和一个数组:$args=array('id'=>5,'slug'=>'my-first-article');我想要一个函数:my_function($regex,$args)这将返回这个结果:page/5-my-first-article.html如何实现?类似于https://docs.djangoproject.com/en/dev/ref/urlresolvers/#reverse 最佳答案 有趣的挑战,我编写了一些适用于此示例的代码,请注意您

php - onkeyup ="this.value = this.value.replace(/,/g,' .')"with php echo' '

在输入字段中需要将,替换为.。使用HTM这样的代码可以正常工作onkeyup="this.value=this.value.replace(/,/g,'.')"但需要像这样在php中使用(带回显):echo'';用php不行。如果使用此this.value.replace(/,/g,/./)则,将替换为/./。尝试过(/,/g,"/./"),(/,/g,/"."/),(/,/g,.)没有任何效果(我的意思是,不会更改为.)。有什么想法吗? 最佳答案 您必须在PHP代码中使用反斜杠转义'。echo'';否则你就是把你的绳子切成小块,然

php 将 preg_replace 转换为 preg_replace_callback

我正在处理这段旧代码,遇到了这个-但失败了:preg_replace('!s:(\d+):"(.*?)";!e',"'s:'.strlen('$2').':\"$2\";'",$sObject);它告诉我preg_replacee修饰符已弃用,改为使用preg_replace_callback。据我所知,我应该用回调函数替换's:'.strlen('$2').':\"$2\";'部分替补上场。我不太明白的是我将要替换的正则表达式的作用。获取填充在数据库字段中的php序列化数据(愚蠢,我知道......),长度字段损坏并修复它们以重新插入是有点的一部分。那么谁能解释一下那个位在做什么,或

php - PHP str_ functions的发音?

昨天我正要在一个句子里用“str_ureplace”,我意识到我不知道该怎么说。我是唯一一个我工作的开发人员,我意识到很多php函数名在我脑海中都是抽象的,我用大脑的方式发音听起来很荒谬。特别是,我说的“str”就像在我的脑海里,但认真地…斯特鲁?有什么想法吗?你遇到过的其他函数,以及如何发音? 最佳答案 将“str”替换为“string”:“stringreplace”。它们并不是真的被设计成发音的,所以说出来的方式你的同事会理解的-这不会让你听起来像是中风了。 关于php-PHPst

php - 如何使用 PHP preg_replace 链接 Twitter 用户名?

我想搜索我的推特状态对象的文本属性并将@username换成@username.到目前为止我尝试过的是这样的:$pattern='/([@]{1})([a-zA-Z0-9\_]+)/';$replace='\1\2';$new_string=preg_replace($pattern,$replace,$text);但它不做任何替换。我知道我的regexp是错误的,但我无法弄清楚确切的位置/原因。帮忙?**编辑:...根据要求提供示例数据?$text='@janesmithIlikethat,butmyfriend@johndoesaiditbetter.';期望的输出:@janesm

php - preg_replace - 如何匹配任何不是\*\*的东西

我似乎无法找出正则表达式来匹配格式中的任何字符串**(anythingthat'snot**)**我试过在php中这样做$str="**helloworld*hello**";$str=preg_replace('/\*\*(([^\*][^\*]+))\*\*/s','$1',$str);但没有进行字符串替换。 最佳答案 您可以使用assertion?!与字符配对.占位符:=preg_replace('/\*\*(((?!\*\*).)+)\*\*/s',这基本上意味着匹配任意数量的任何东西(.)+,但是.永远不能占据\*\*的位

php - parse_str 在元素前面加上符号?

我一直在尝试使用cURL,并尝试将数组作为POST变量发送。我决定使用http_build_query按预期传递字符串:curl_setopt($this->ch,CURLOPT_POSTFIELDS,http_build_query($sendParams));我让接收端简单地print_r'ing$_POST,这样我就可以看到正在发送的内容。但是,我在第一个之后的所有父元素上都附加了一个&,这正常吗?我假设parse_str在解析查询字符串时被cURL使用,所以这里是一个super简化的例子,它也导致了&符号:array('baz'=>array(1,2,3))),'test'=>

php - PHP ereg_replace 中的欧元符号

我想在此正则表达式中允许使用欧元符号€,但它不会通过$val=ereg_replace($regex,"[^a-zA-Z0-9[:space:][:blank:]€+-]+",$_REQUEST[$var]); 最佳答案 你有安装mbstring吗?如果是这样,请尝试使用函数mb_ereg_replace().它将支持这个字符(甚至在UTF-8中)。编辑:还要检查mbregex是否打开。有些主机打开mbstring但禁用mbregex(我不知道为什么)。 关于php-PHPereg_re

php - preg_replace 能否一次进行多个搜索和替换操作?

这是如何完成的,分几行://$strrepresentsstringthatneedscleaning:$str="Stringwithline\nbreakandtoomuchspaces";//Cleanstringwithpreg_replace():$str=preg_replace('/[\x00-\x09\x0B-\x1F\x7F]|^+|+$/','',$str);$str=preg_replace('/\x0A|+/','',$str);echo$str;//Output:"Stringwithlinebreakandtoomuchspaces"我的问题集中在将两个pr