草庐IT

Search-and-replace

全部标签

php - preg_replace 没有按预期工作

我写了一个简单的函数,它接受一段文本,从中提取url,然后用替换所有url。标记他们。例如http://site.com应该变成http://site.com代码:functionparseUrls($string){$string=trim($string);$pattern='%\bhttp[s]?://[A-z0-9/\.\-_]+%i';$replacement='$1';$string=preg_replace($pattern,$replacement,$string);return$string;}但是,如果我将以下字符串作为输入传递:你好https://google.c

php - 用 Preg_replace 删除汉字?

我正在尝试从字符串中删除中文字符。试过了,但无法正常工作。它说:Warning:preg_replace()[function.preg-replace]:Compilationfailed:charactervaluein\x{...}sequenceistoolargeatoffset9inpreg_replace('/[^\x{4e00}-\x{9fa5}]+/','',$string)我怎样才能让它工作? 最佳答案 InUTF-8mode,"\x{...}"isallowed,wherethecontentsofthebra

php preg_replace 特定 html 注释标签之间的所有内容

我检查了其他答案,但似乎无法执行以下操作。请帮助某人:)我想删除中间的所有内容,包括特定的html注释HTML:SomeHTMLthatmuststaysomehtmlthatmustgoSomemoreHTMLthat'sgottastaythisalsoneedstogo因此之间的所有内容和并且评论本身需要去我的preg_replace模式(这显然是错误的):"/.*?/"结果应该是SomeHTMLthatmuststaySomemoreHTMLthat'sgottastay感谢您提前检查和回答:) 最佳答案 感谢@mlwaco

php - 为什么要同时使用 str_replace() 和 preg_replace()?

我是在Perl之后才开始了解PHP的,所以当我第一次发现preg_*函数时,我基本上只是使用它们。后来我读到str_replace()在处理文字文本时速度更快。所以我的问题是,当搜索模式不使用特殊字符时,preg_replace()不能像str_replace()一样高效吗?也许只是分析模式以在正则表达式和纯文本算法之间做出选择? 最佳答案 理论上是的,你是对的。PHP团队可能会调整preg_replace来分析传入的模式,然后在没有看到任何元字符的情况下使用str_replace的代码。假设分析不是太繁重,这可能会产生更好的性能结

php - str_replace ('<' ) 可以保护我们免受用户注入(inject)代码的侵害吗?

好的,我有一些用户输入,我做了一个echostr_replace('我想知道,无论如何用户是否可以破坏此过滤器?最初我认为这个脚本非常安全,但在阅读了一些关于php、字符集和安全性的文章后我开始怀疑它的健壮性。 最佳答案 这取决于输入的最终位置。例如,如果在某个时候你最终得到了一个像这样构造的(糟糕的)模板......">alink然后有人可以通过简单地使用以下输入来注入(inject)代码:javascript:do_whatever()即使输出通常不会回显到href字段中,像这样..."href="http://www.goog

php - 使用 "AND"表达式构建动态 SQL 而不会混淆嵌套条件?

我对php和一般编码还很陌生。我有一系列条件需要测试它们是否已设置。它们是$option1,$option2,$option3if(isset($option1)){if(isset($option2)){if(isset($option3)){$query="SELECT*FROMGroupWHEREFirstOption='$option1'ANDSecondOption='$option2'ANDThirdOption='$option3'";}else{$query="SELECT*FROMGroupWHEREFirstOption='$option1'ANDSecondOpt

php - 为什么\\。平等的\。在preg_replace?

在top-votedanswer至thisfantasticquestion,以下正则表达式用于preg_replace调用(来自答案的auto_version函数):'{\\.([^./]+)$}'这个正则表达式的最终目标是从给定的文件名中提取文件的扩展名。但是,我对为什么这个正则表达式的开头起作用感到困惑。即:为什么\\.匹配方式与\.相同在正则表达式中?前者不应该匹配(a)一个文字反斜杠,后跟(b)任何字符,而第二个匹配一个文字句点吗?singlequotedstrings的规则说明\\产生文字反斜杠。考虑这个简单的例子:$regex1='{\.([^./]+)$}';//Var

php - 拉维尔 5 : Fetch ajax data in route and pass to controller

我正在使用Laravel5并希望使用一些数据对Controller进行ajax调用:$.ajax({url:"/getOrgById",data:JSON.stringify({id:1})})routes.php有:Route::get('/getOrgById','HomeController@getOrgById');HomeController.php:publicfunctiongetOrgById($data){//codeherefailswithmessage'Missingargument1forHomeController::getOrgById()}如何将数据从a

php - 这个字符串是什么 : Ôªø and how do I avoid it?

我以某种方式设法将Ôªø置于PHP脚本的顶部。那组可怕的字符是什么,我怎么会进入它,我以后该如何暴露和/或避免它?有趣的是,它潜伏在PHP脚本的最顶端,在之前.发送Content-typeheader所需的脚本。因为Ôªø将文件头从文件顶部推开,服务器不断发送自己的文件头,随后发生了2小时的欢闹。我什至看不到nano或bash中的字符串。但我重定向了一个差异,它就在那里。 最佳答案 这是UTF-8byteordermark(寻找EFBBBF)。这是一个标准的事情,不应该给你带来问题,但如果它确实发生了,那么请确保你的源代码编辑器在保

PHP : imploding array and storing the result back to same variable

下面的代码有没有坑。这样使用安全吗?我不会再使用该阵列$records_msg=implode("",$records_msg); 最佳答案 不是真的,但是为数组使用不同的变量名可能会提高可读性,因为它还不是消息。 关于PHP:implodingarrayandstoringtheresultbacktosamevariable,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/33