我正在尝试将preg_match检查从url检查更改为用户名检查,这是可接受的最小/最大2-16chrs、破折号、空格和连字符。我收到这个错误Warning:preg_match()[function.preg-match]:Compilationfailed:nothingtorepeatatoffset14if(empty($string)||preg_match("#^([\w-]{2,16}*(?:.[\w-]{2,16}*)+):?(d+)?/?#i",$string))寻找URL的旧代码if(empty($string)||preg_match("#^(http|https
我想要一个正则表达式来确保字符串的开头包含“http://”和“/”以及结尾。这是我想出的一个更长的版本,if(!preg_match("/(^http:\/\//",$site_http)){$error=true;echo'';}elseif(!preg_match("/\/$/",$site_http)){$error=true;echo'';}但我认为这两个表达式可以像下面这样放在一起,但它行不通,if(!preg_match("/(^http:\/\/)&(\/$)/",$site_http)){$error=true;echo'';}我尝试组合的多个表达式一定是错误的!有什
我需要改变这个:进入这个:在一个字符串上。看起来很简单,但以下内容不起作用:$filecontent=preg_replace('/ /','',$filecontent);$filecontent=preg_replace('/^ /','',$filecontent);$filecontent=preg_replace('/\s/','',$filecontent);$filecontent=preg_replace('/\s+/','',$filecontent);$filecontent=str_replace('','',$filecontent);为了确保我不会发疯,我对x
我想用null替换这些字符[^a-zа-з0-9_],但是当它是多字节字符串时我不能这样做。我尝试使用mb_*、iconv、PCRE、mb_eregi_replace和u修饰符(用于PCRE),但没有一个效果很好。mb_eregi_replace有效,但它只输出正确的utf8字符串,但它不会替换字符,当preg_replace使用相同的正则表达式时..这是我的代码,适用于unicode,但它不会替换文本。function_data($data){mb_regex_encoding('UTF-8');returnmb_eregi_replace('/[^a-zа-з0-9_]+/',''
非常感谢一些帮助。我的主机服务器端更新导致我的评论表单抛出两个验证错误。第一个是:preg_match()返回警告:preg_match()[function.preg-match]:编译失败:[脚本位置和行错误]中偏移量13处字符类中的范围乱序-第二个是主题检查偏移量14。它在电子邮件地址检查中执行此操作:if(preg_match('/[^a-zA-Z0-9_-.]/',$_POST['txtEmail']))和主题检查:if(preg_match('/[^a-zA-Z0-9:?-.]/',$_POST['txtSubject']))我不熟悉PHP,但可以剪切和粘贴!我的网站是fr
我有一个wordpress数据库,其中有一些来自soundcloud的嵌入式iframe。我希望将iframe替换为某种简码。我什至创建了一个简码,效果非常好。问题是我有一个旧数据库,其中包含大约2000个已经嵌入代码的帖子。我想做的是编写一个代码,以便用短代码替换iframe。这是我用来从内容中查找url的代码,但它总是返回空白。$string='ThinkKavinskymeetsFuturecop!meetsyourfavorite80sTVshowthemesongandyoumightbeprettyclosetoSwedishproducerJohanBengtsson\'
我有一个相对较大的元素数组,我想搜索一个字符串并替换所有匹配项。我目前正在尝试使用preg_replace和正则表达式来做到这一点:preg_replace("/\d?\dIPT\.\w/","IPT",$array);我想获取所有匹配00IPT.A或0IPT.A的值(0代表任何数字字符,A代表任何字母)并将它们替换为IPT。但是,我收到了数组到字符串的转换通知。有没有办法让preg_replace接受数组数据源?如果没有,是否有任何其他方法可以实现此目的?文档说preg_replace应该能够接受数组源——这就是我要问的原因。Thestringoranarraywithstrings
preg拆分和utf有问题。这是代码:$original['words']=preg_split("/[\s]+/",$original['text']);print_r($original);这是答案:Array([text]=>Šiosbaterijoskaista[words]=>Array([0]=>�[1]=>ios[2]=>baterijos[3]=>kaista此代码在CakePHP框架中运行。请注意[text]在单词之前正确显示并且在拆分过程中困惑。顺便说一句,我试过使用这些:mb_internal_encoding('UTF-8');mb_regex_encoding
我正在使用preg_match()从变量中提取文本片段,假设变量如下所示:[htmlcode]Thisissupposedtobedisplayed[/htmlcode]middletext[htmlcode]Thisisalsosupposedtobedisplayed[/htmlcode]我想提取[htmlcode]的内容并将它们输入到一个数组中。我通过使用preg_match()来做到这一点。preg_match('/\[htmlcode\]([^\"]*)\[\/htmlcode\]/ms',$text,$matches);foreach($matchesas$value){r
我需要验证一些以UTF-8编码的用户输入。许多人推荐使用以下代码:preg_match('/\A([\x09\x0A\x0D\x20-\x7E]|[\xC2-\xDF][\x80-\xBF]|\xE0[\xA0-\xBF][\x80-\xBF]|[\xE1-\xEC\xEE\xEF][\x80-\xBF]{2}|\xED[\x80-\x9F][\x80-\xBF]|\xF0[\x90-\xBF][\x80-\xBF]{2}|[\xF1-\xF3][\x80-\xBF]{3}|\xF4[\x80-\x8F][\x80-\xBF]{2})*\z/x',$string);这是一个取自http