草庐IT

PHP preg_replace 正则表达式问题

我需要一些帮助来计算正则表达式。在我的脚本中,我有一定的占位符行。我想做的是向每个占位符文本发送一个函数,将其转换为应有的内容。例如我的文字是:Loremipsumdolorsit{{AMETPLACEHOLDER}},consecteturadipiscingelit.我希望将文本AMETPLACEHOLDER发送到我的函数translateMe。我的正则表达式真的很差,但还是试了一下。我没有比这更进一步的了:$sString=preg_replace("(*.?)/\{{(*.?)}}(*.?)/",$this->echoText('\\2'),$sString);这当然行不通。谁

php - preg_replace 中的 urlencode

$str=preg_replace("'\(look:(.{1,80})\)'Ui","(look:\\1)",$str);我想对url进行编码,但我该怎么做呢?我可以在preg_replace中使用urlencode()函数吗?类似的东西,$str=preg_replace("'\(look:(.{1,80})\)'Ui","(look:\\1)",$str);你知道在preg_replace中编码url吗? 最佳答案 您可以使用preg_replace_callback,它允许您通过直接运行代码来生成替换字符串:$str=pre

php - 奇怪的多字节 preg_replace 问题。它正在将我的数据更改为笑脸!

在Windows上使用PHP5.3.1。我只是想在数字和字母之间添加空格,但是PHP正在破坏我的数据!$text="TUES:8:30AM-5:00PMTHURS:8:30AM-5:00PMSAT:8:00AM-1:00PM";echopreg_replace("/([0-9]+)([A-Z]+)/","\1\2",$text);>TUES:8:☺☻AM-5:☺☻PMTHURS:8:☺☻AM-5:☺☻PMSAT:8:☺☻AM-1:☺☻PM我的文件类型是ANSI,不,源代码中没有unicode。这里有什么好玩的? 最佳答案 尝试使用$

php - 获取数组中子串出现的次数

我想计算一个子字符串在数组中出现的次数。这是一个Drupal站点,所以我需要使用PHP代码$ar_holding=array('usa-ny-nyc','usa-fl-ftl','usa-nj-hb','usa-ny-wch','usa-ny-li');我需要能够调用像foo($ar_holding,'usa-ny-');这样的函数,并让它从$ar_holding数组中返回3.我知道in_array()函数,但它返回字符串第一次出现的索引。我需要搜索子字符串并返回计数的函数。 最佳答案 你可以使用preg_grep():$count

php - 如何使用 preg_match 提取 img src

我有不同格式的html数组[amp;src]=>image,anotherone[posthtml]=>image2,anothertwo[nbsp;image3如何使用常用的preg_match()提取img和文本,通过它我们可以从html中得到完美的图像src和文本。如果无法使用preg_match(),是否有另一种方法来修复它。有知道的请回复一下。如何修复它。我需要你的手。 最佳答案 推荐的方式是使用DOM$dom=newDOMDocument;$dom->loadHTML($HTML);$images=$dom->getEl

PHP Preg 表达式从字符串中删除 html 标签和内部内容?

快速提问。我想从以下字符串中删除sup标签,以及其中的所有内容。$string="PriorityMail®International";我该怎么做? 最佳答案 我想像这样的东西会起作用:preg_replace("(.*?)is","",$input); 关于PHPPreg表达式从字符串中删除html标签和内部内容?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/105

PHP preg_match 汽车牌照

所以前几天我刚刚了解了PHP中的preg_match,现在我正在尝试preg_match车牌。它应该检查这个:9a-4e-yy,所以-和数字或字母前后,然后是-和更多数字或字母。但它必须恰好是彼此相邻的2个数字或字母,不能更多。现在我有这段代码:returnpreg_match("/^([0-9])"."([0-9])"."(\-([0-9])"."([0-9]))"."(\-([0-9])"."([0-9]))$/",$kenteken);但这只会检查数字。我希望你们能帮助我让它也能处理字母。提前致谢! 最佳答案 [0-9]只匹配

PHP preg_replace

我使用netbeans,我尝试用\\替换\但它失败了,它无法转义\\字符。这不是Netbeans问题,而是PHP问题。preg_replace('\','\\','textto\beparsed');有什么解决办法吗? 最佳答案 使用4个反斜杠,请不要忘记分隔符:echoechopreg_replace('~\\\\~','\\\\\\\\','要解析的文本');Onlinedemo说明:PHP在解析\\\\时会转义两次\\,即变成\\,现在当PHP将其传递给正则表达式引擎时,它将接收到\\,这意味着\。

php - preg_match() 期望参数是给定的长字符串

我正在检查信用卡字段以确保它们每个都包含四位数字。functioncreditcard($creditCard1,$creditCard2,$creditCard3,$creditCard4){$regexp="/^[0-9]{4}$/";if(preg_match($regexp,$creditCard1,$creditCard2,$creditCard3,$creditCard4))//line18{returnTRUE;}else{echo'alert("Enteravalidcreditcardnumber.")';returnFALSE;}}$creditCard1=$_PO

php - preg_replace 仅匹配的一部分

我正在使用preg_replace为基于modrewrite的分页链接创建url。我使用:$nextURL=preg_replace('%/([\d]+)/%','/'.($pageNumber+1).'/',$currentURL);效果很好,但是我想知道是否有更好的方法而无需在替换参数中包含'/'。我需要匹配两个/之间的数字,因为URL有时可以包含页面部分以外的数字。然而,这些数字绝不仅仅是数字,所以/[\d]+/阻止它们被替换。 最佳答案 你可以使用look-aroundassertions:%(?(?是一个积极的后视断言并且