草庐IT

php - 需要动态替换字符串中的参数

这是我的功能,可以帮助我生成链接。所以在这里构造我从数据库中获取数据。现在我想从数据库记录生成链接,例如http://localhost/myCrm/my_module/edit/3/1我知道它需要字符串替换,但我不知道该怎么做?functiongetLinks(array$Links,bool$actions=true){$data=$this->data;/*$datawilllooklikethis.Butitwillvaryonbecausethisfunctionwillbeusedoverdifferentschematogeneratethelinks*///$data=

php - 获取无效日期并 preg_replace 它

我用这个来替换有效日期:$date=preg_replace('~(\d{2})/(\d{2})/(\d{2,4})~','',$date);所以这样的日期:08/25/2016将被替换。我的问题是,有时用户会这样写日期:082/5/20160825/201608/252/01608/25/2010/85/2016我也想得到这个。有什么想法吗? 最佳答案 如果您的输入中有“日期之类的字符串”,您可以使用具有正向后视的正则表达式来确保数字和正斜杠block包含7到8位数字,然后是单词边界:'~\b(?=(?:\D*\d){7,8}\b

PHP、正则表达式和 preg_replace,需要一些帮助

我需要一些更换的帮助:Sometext[id]为了...Sometext|id我是正则表达式的新手,我只是不知道如何安全地将文本保存在[]中...而且我不想使用str_replace和trim...我必须使用表达式(不要问为什么:D)...有人可以帮助我吗? 最佳答案 这应该适用于非嵌套方括号:preg_replace("/\[(.*?)\]/","|$1","Sometext[id]")输出Sometext|id 关于PHP、正则表达式和preg_replace,需要一些帮助,我们在S

php - 用 PHP 正则表达式替换单词或单词组合

我有替换词的map:$map=array('word1'=>'replacement1','word2blah'=>'replacement2',//...);我需要替换字符串中的单词。但是只有当字符串是单词时才应该执行替换:它不在其他单词ex的中间。textword1不会被替换为replacement1,因为它是另一个标记的一部分。必须保存分隔符,但应替换分隔符之前/之后的单词。我可以使用正则表达式将字符串拆分为单词,但是当映射值的标记很少时(例如word2blah),这不起作用。 最佳答案 $map=array('foo'=>'

php - 使用 preg_replace 保存换行符

我有这段代码可以在输入到数据库的文本区域中保存换行符:$input=preg_replace("/(\n)+/m",'\n',$input);在检查数据库中的输入时,换行符实际上被保存了。但问题是当我想回显出来时,换行符不会出现在输出中,如何保留输入中的换行符并回显它们出去。我不想使用. 最佳答案 您正在将$input中的实际换行符序列替换为文字的两个字符序列\n(反斜杠+n)-而不是换行符。从数据库读取时,这些需要转换回换行符。虽然我怀疑您打算将这些实际的换行符保留在数据库中并且应该使用双引号字符串代替...$input=preg

PHP,preg_replace 中的嵌套模板

preg_replace("/\[b\](.*)\[\/b\]/Usi","$1","Sometexthere...[b][b]Hello,[b]PHP![/b][/b][/b]...[b]andhere[/b]");返回Sometexthere...[b]Hello,[b]PHP![/b][/b]...andhere但我需要替换所有[b]...[/b]标签。为什么我的情况没有发生这种情况? 最佳答案 是的,如果元素是嵌套的,则需要多遍方法。这可以通过以下两种方式之一来完成;从内到外或从外到内匹配。这里有两个经过测试的脚本,带有完整

php - 正则表达式 - preg_replace php - 理解

我有下面的代码,我试图理解这段代码到底做了什么,但是几次之后我没有弄明白......观察:这段代码是很久以前制作的,用于处理来自用户的一些输入,例如城市、州等。preg_replace('/\A[\w\.\-\+]+\z/','',$anyString)我已经知道的:\A=在输入的开头匹配\w=匹配任何单词\.,\-,\+=匹配字符。,和+\z=匹配字符串的结尾任何帮助将不胜感激,谢谢 最佳答案 \A-startatthebeginning[-matchanyofthefollowing:\w-awordcharacter(a-z,

php - 如何在 preg_replace 中用 c(xxx) 替换 c(xxx)?

如何在preg_replace中用c(xxx)替换c(xxx)?在下面的代码中,我想将strc(xxx)替换为functiounc(xxx)。我没有得到我想要的正确结果。我的代码有什么问题?以及如何解决?$c['GOOD']='verygood';$c['BOY']='jimmy';functionc($x){global$c;if(isset($c[$x])){return$c[$x];}}$str="helloc(GOOD)worldc(BOY)";$str=preg_replace("@c\(([A-Z_\d]+)\)@",c('$1'),$str);echo$str;//-->

php - preg_replace() 替换太多

我正在开发一个简单的SQL调试器,它将接受参数化变量并尝试相应地替换它们,这样如果一条SQL有问题,那么我可以将它直接复制并粘贴到我的RDBMS中以处理查询,并希望如此更快地调试问题。到目前为止,我基本上已经有了这个,但是它替换了太多:导致select*fromtable_namewherecommentlike'%thatisanice'monkeyzeus@example.com'butthisone%'andemail='monkeyzeus@example.com'andstatus='active'请注意,位置1的'monkeyzeus@example.com'正在从位置0进

php - `str_replace` 有什么特别之处?

我想编写一个函数,允许我用数组中的连续值替换字符串中重复的标记,这样WHEREname=?andage?,array('joe',32)变为Wherename=joeandage=32。(我知道变量绑定(bind)不应该“手动”完成;我正在尝试对传递给EloquentDB::select语句的参数进行故障排除)。我是这样写的:functionstr_replace_array($search,array$replace,$subject){foreach($replaceas$replacement){$subject=str_replace($search,$replacement,