草庐IT

PREG_REPLACE_EVAL

全部标签

PHP:如何获取 preg_match_all 的字符串索引?

假设我有两个正则表达式,/eat(apple|pear)//Ilike/和文字"Iliketoeatapplesonarainyday,butonsunnydays,Iliketoeatpears."我想要的是用preg_match得到如下索引:match:0,5(Ilike)match:10,19(eatapples)match:57,62(Ilike)match:67,75(eatpears)有没有什么方法可以使用preg_match_all获取这些索引,而无需每次都循环遍历文本?编辑:解决方案PREG_OFFSET_CAPTURE! 最佳答案

php - preg_match 中的符号是什么意思?

我在离线借用的代码片段中有这个表达式。它强制新用户的密码不仅需要大写+小写+数字,而且必须按此顺序!如果我输入lower+upper+numbers,它会失败!if(preg_match("/^.*(?=.{4,})(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z]).*$/",$pw_clean,$matches)){我在网上搜索过,但找不到可以告诉我某些字符含义的资源。我可以看到模式是preg_match("/someexpression/",yourstring,yourmatch).这些是什么意思:1.^-???2..*-???3.(?=.{4,})-requir

php - PHP 中的 substr_replace 编码

我想写入一个文本文件。当我使用substr_replace()在PHP中,编码发生变化。它不能正确打印希腊字符。如果我不这样做,一切都很好。我该如何解决这个问题?结果ε��φδφδφδσφδσδφδφδ没有任何结果substr_replace()δφδφδφδσφδσδφδφδ 最佳答案 你可以使用这两个函数:来自shkspr.mobi:functionmb_substr_replace($original,$replacement,$position,$length){$startString=mb_substr($origina

php - preg_match 验证 URL slug

我让用户在我的网站上创建他们自己的个人资料,这样他们就可以选择他们的url。因此,例如,如果他们的名字是JohnSmith,他们可能想输入john-smith,然后他们的个人资料URL将是www.mysite.com/john-smith。我需要使用preg_match来验证他们输入的是一个有效的URLslug。所以这里是它必须满足的规则才有效:它必须至少包含一个字母,并且只能包含字母、数字和连字符谁能帮帮我,我擅长PHP,但对正则表达式很垃圾! 最佳答案 我希望这段代码是不言自明的:但如果不是,函数test_username()将

php - preg_replace : converting line breaks into paragraphs

我想将换行符转换为段落。例如$string="1stparagraph2ndparagraph3rdparagraph";我想得到,1stparagraph2ndparagraph3rdparagraph和,$string="1stparagraph2ndparagraphalinebreak3rdparagraph";进入,1stparagraph2ndparagraphalinebreak3rdparagraphregex和reg_replace是否可行?或者其他更好的东西-xpath?我试过了,还没有结果,echopreg_replace("'/^(.*?)(\s*)+/'","

php - 如何在 preg_match() 中匹配重音字符?

我读过howaccentedcharactersmightsometimesmatch[a-z].我想知道的是如何匹配特定的重音字符。显然,preg_match('/[ñ]/','ñ')不起作用。 最佳答案 使用/u修饰符。这将为正则表达式启用Unicode。http://php.net/manual/en/reference.pcre.pattern.modifiers.php 关于php-如何在preg_match()中匹配重音字符?,我们在StackOverflow上找到一个类似的

php - 使用 php preg_replace 更改 html 链接的 href 属性

我正在尝试用不同的URL替换大字符串中的所有链接href。使用以下代码似乎只替换了第二个链接,而第一个链接完好无损,有人可以帮我吗?$string_of_text='PHPApache';echopreg_replace('//','',$string_of_text); 最佳答案 代替任何字符。使用任何非(^)引号[^"]echopreg_replace('//','',$string_of_text); 关于php-使用phppreg_replace更改html链接的href属性,我

php - fatal error : Uncaught Error: Call to undefined function ereg_replace() PHP 7

这个问题在这里已经有了答案:HowcanIconverteregexpressionstopreginPHP?(4个答案)关闭3年前。下面的代码给我php7中的fatalerror$jquery_click_hook=ereg_replace("[^A-Za-z0-9]","",strtolower($value['name']));有什么方法可以让它与php7兼容吗?

php - 如何使用 preg_replace 在 PHP 中转义 $?

我正在使用preg_replace来转义特殊字符:$tmpStr=preg_replace("/\?/","\?",$tmpStr);$tmpStr=preg_replace("/\#/","\#",$tmpStr);$tmpStr=preg_replace("/\^/","\^",$tmpStr);$tmpStr=preg_replace("/\&/","\&",$tmpStr);$tmpStr=preg_replace("/\*/","\*",$tmpStr);$tmpStr=preg_replace("/\(/","\(",$tmpStr);$tmpStr=preg_replac

php如何制作一个if str_replace?

$str是foreach中的某个值。$str=str_replace('_name_','_title_',$str);如何制作ifstr_replace?我想做的事情ifhaveastr_replacethenecho$str,elsenot,jumpthecurrentforeachthentonext.谢谢。 最佳答案 str_replace()还有第四个参数设置为执行的替换次数。如果没有被替换,它被设置为0。在那里放置一个引用变量,然后在你的if语句中检查它:foreach($str_arrayas$str){$str=st