我有一段文本多次出现这种格式的变量:Exampletextwill%%include%%these%%parameters%%我正在尝试使用这个:preg_match('/%%[\s\S]*?%%/i',$output,$matches);但出于某种原因,我只得到了第一场比赛,有什么想法吗? 最佳答案 使用preg_match_all因为您需要多个匹配项。 关于php-正则表达式匹配以%%开头和结尾的字符串,我们在StackOverflow上找到一个类似的问题:
我正在尝试合并从多行文本文件导入的数组元素,以逗号分隔:$catinput.txtone,two,three,fourred,blue,greenhuman,klingon,dolphin我想要得到的是一个包含10个项目的数组。我试过的代码是这样的:问题是,我似乎在行结束后得到返回:Array([0]=>one[1]=>two[2]=>three[3]=>four[4]=>red[5]=>blue[6]=>green[7]=>human[8]=>klingon[9]=>dolphin)为什么那里有空格?我该如何摆脱它们? 最佳答案
如何用其他单词替换以@@开头并以@@结尾的单词?提前致谢$str='Thisistest@@test123@@';如何获取test123的位置并替换为另一个 最佳答案 你最好使用正则表达式。echo$str=preg_replace("~@@(.*?)@@~","Thisisthereplacedtext",$str);Demonstration编辑答案..由于OP在不清楚的上下文中提出问题因为您要抓取内容。使用preg_match()和相同的正则表达式。 关于php-如何用其他单词替换
$arr1=array("llo""world","ef","gh");检查$str1是否以$arr1中的某个字符串结尾的最佳方法是什么?正确/错误的答案很好,尽管知道$arr1元素的数量作为答案(如果为真)会很好。例子:$pos=check_end("worldhello");//$pos=0;becauseendswithllo$pos=check_end("helloworld");//$pos=1;becauseendswithworld.除了在for语句中将$arr1的所有元素与$str1的结尾进行比较之外,还有什么更好/更快/特别的方法吗? 最佳
我试过研究preg_replace,只是我对正则表达式没有太多经验。我想做的是替换一部分以冒号结尾的文本,并将其设为粗体,并在前面放一个换行符,在后面放两个换行符。IE转换此文本title1:issometexthere.title2:anotherpieceoftext.到**title1:**issometexthere.**title2:**anotherpieceoftext我试过做这样的事情......preg_replace("!\*(.*?)\*!$:","\\!\*(.*?)\*!\\",$text);我似乎无法让它工作。有人能帮忙吗?谢谢安迪
我有以下函数将数字舍入到以$nearest的数字结尾的最接近的数字,我想知道是否有更优雅的方法做同样的事情。/***Roundsthenumbertothenearestdigit(s).**@paramint$number*@paramint$nearest*@returnint*/functionroundNearest($number,$nearest,$type=null){$result=abs(intval($number));$nearest=abs(intval($nearest));if($result一些例子:roundNearest(86,9);//89round
我正在寻找并替换长字符串中的单词。我想找到开头看起来像这样的单词:$test$并将其替换为空。我已经尝试了很多东西,但无法弄清楚正则表达式。这是我最后一次尝试:preg_replace("/\b\\$(.*)\\$\b/im",'',$text);无论我做什么,我都无法用它来替换以美元符号开头和结尾的单词。 最佳答案 使用单引号代替双引号并删除双转义符。$text=preg_replace('/\$(.*?)\$/','',$text);还有一个单词边界\b不消耗任何字符,它断言一侧有一个单词字符,而另一侧没有。您需要删除单词边界才
假设我有一个数组如下:$array=array('a','b',0,'c',null,'d');现在,我当然可以使用foreach轻松地遍历它:foreach($arrayas$value){var_dump($value);}一切都很好。但是,如果我想做一个“peek”以查看我是否在最后一个元素上,则以下将不起作用:reset($array);while($value=current($array)){var_dump($value);if(next($array)){//thiswon'tbeaccuratebecauseofthe0element}}好的,所以我做一个更严格的测试
我试过将网页图片保存到本地,我这里用代码来判断,如果图片文件名结尾不是.jpg,.jpeg,.png,.gif,就加上。我使用stripos,但是当像这样的图片url时我遇到了一些麻烦。那么如何解决呢?谢谢。$webimage='http://pcdn.500px.net/5953805/d0dd841969187f47e8ad9157713949b4b95b3bda/4.jpg?1333782904356';$pieces=explode("/",$webimage);$pathend=end($pieces);$imageinfo=@getimagesize($webimage);
我想在$text中替换以“[id”开头、中间部分未知、以“]”结尾的字符串。我知道如何替换以“[id”开头并以“]”结尾的字符串,但我不知道如何将未知的中间正文部分作为替换规则。任何想法如何像这样替换?谢谢。 最佳答案 以下将删除所有出现的[idsomething]。something将匹配除]之外的所有字符。$newText=preg_replace('#\[id[^\]]+\]#','',$subject);如果你知道something总是一个数字,你可以使用这样的东西:$newText=preg_replace('#\[id\