草庐IT

Search-and-replace

全部标签

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

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

PHP 5.3.5 ldap_search() : Search: Can't contact LDAP server

我有一个LDAPPHP类,它适用于我们公司的所有其他PHP安装。但是,现在我从SuSE更改为Ubuntu11.04,代码停止工作。PHP版本为5.3.5。我尝试连接到我们的LDAP服务器。连接到它后,我尝试运行ldap_search。它失败并显示错误消息“ldap_search():搜索:无法联系LDAP服务器”。我使用wireshark查看了流量,可以看到php和ldap之间正在发生通信,可惜没有发生连接。感谢您的意见,乌韦这是我使用的代码:classldap{private$ldap_conn;private$ldaphost;private$ldapport;publicfunc

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

php - preg_replace 模式和主题数组返回空数组

我想要一种从$keywords中删除$badwords元素的简单方法。我有什么(举个例子)$keywords=array('sebastian','nous','helene','lol');//itcouldbeanythinginfact$badwords=array('nous','lol','ene','seba');//arrayfullofstopwordsthatIwon'twritehere$filtered_keywords=array_filter(preg_replace($badwords,'',$keywords),'strlen');print_r($fil

php - 引用错误 : Error #1069:Property not found on String and there is no default value

我正在使用URLRequest在flash中加载一个外部php文件。但不幸的是我得到了这个错误-ReferenceError:Error#1069:PropertyemailnotfoundonStringandthereisnodefaultvalue.atMain/variablesGot()atflash.events::EventDispatcher/dispatchEventFunction()atflash.events::EventDispatcher/dispatchEvent()atflash.net::URLLoader/onComplete()这里是相关的as3代

php - preg_replace 在省略时插入默认值

我正在尝试为preg_replace处理一些正则表达式,当它不在主题中时,它会插入一个默认的key="value"。这是我所拥有的:$pattern='/\[section([^\]]+)(?!type)\]/i';$replacement='[section$1type="wrapper"]';我想让它变成:[sectiontitle="Thisisthetitle"]进入:[sectiontitle="Thisisthetitle"type="wrapper"]但是当有值的时候,我不希望它匹配。这意味着:[sectiontitle="Thisisthetitle"type="ful

php - 如何在一个 preg_replace() 中将所有非单词字符和多个空格更改为 ' ' 然后将所有空格更改为 '-'

我想在以下条件下更改图像名称所有非单词字符变成空格,然后所有空格变成-表示如果我的图像名称是:HelloMynameis'Kh@n"Mr..Khan"那么它应该被更改为Hello-My-name-is-kh-n-mr-Khan.我需要分两步使用下面,$old_name='HelloMynameis\'Kh@n"Mr.Khan';$space_name=preg_replace('/\W/','',$old_name);$new_name=preg_replace('/\s+/','-',$space_name);echo$new_name//returnsHello-My-name-i

php - 如果我使用 && 而不是 AND,它会对我的脚本产生任何影响吗?

谁能告诉我,如果我在我的php脚本中使用&&运算符而不是and作为条件,会有什么不同吗?例如if($i==1and$bool==true)与相同if($i==1&&$bool==true)如果有人告诉我它们之间的区别会更好。 最佳答案 &&和and的区别是precedence:&&有一个更高的。如果您评估bool表达式,我会坚持使用最常用的:&&和||。更新:例子:a||bandc评估为(a||b)andc鉴于a||b&&c评估为a||(b&&c) 关于php-如果我使用&&而不是AND

php - 如何将其转换为 htmlcharacters : “and ”

我们有这些字符:“和”(这不是常规的",而是某种curl的。不知道它叫什么)当我们使用htmlentities()时,这些字符不会被转换,这会导致以后出现问题。进一步的问题是我们用Latin-1编码我们的页面,我们不能保存这个特定的字符(所以我们不能做一个替换和查找,因为我们实际上不能把它编程成任何页)。注意:我们确实设置了ENT_QUOTES,但这对htmlentities()没有影响。更新我现在知道它们被称为花式引号等,它们适当的html实体是“和”。现在的问题是,为什么PHP不适本地转换这些字符?查看示例代码:Send结果: 最佳答案