php的preg_replace正则表达式
比如<任意个字符XXXX任意个字符>,判断是否存在XXXX字符串,如果是,则替换前后的尖括号,最后变成[任意个字符XXXX任意个字符]输出。对于其他字符串的尖括号不修改。...
比如<任意个字符XXXX任意个字符>,判断是否存在XXXX字符串,如果是,则替换前后的尖括号,最后变成[任意个字符XXXX任意个字符]输出。
对于其他字符串的尖括号不修改。比如还存在<任意个字符ZZZZ任意个字符>,因为不包含XXXX,则不修改它。 展开
对于其他字符串的尖括号不修改。比如还存在<任意个字符ZZZZ任意个字符>,因为不包含XXXX,则不修改它。 展开
1个回答
展开全部
<2133af3344>
[2133af3344]
假设这个字符就是a
那么代码
<?php
$str= '<2133af3344>';
$preg= '/a/';
if(preg_match($preg,$str)){
$str1= preg_replace('/>/',']',$str);
echo preg_replace('/</','[',$str1);
}
?>
[2133af3344]
假设这个字符就是a
那么代码
<?php
$str= '<2133af3344>';
$preg= '/a/';
if(preg_match($preg,$str)){
$str1= preg_replace('/>/',']',$str);
echo preg_replace('/</','[',$str1);
}
?>
更多追问追答
追问
preg_replace('//s','[$1]',$str);
那个问号是干嘛用的,据说是防止贪婪匹配。是不是说加了问号以后最多只匹配一次啊?
追答
* 匹配前面的子表达式零次或多次。
+匹配前面的子表达式一次或多次。+ 等价于 {1,}。
? 匹配前面的子表达式零次或一次。? 等价于 {0,1}。
问号是匹配的个数0次或一次
加上?就0次或1次就不是贪婪了
贪婪的意思就是找到符合就匹配
非常贪婪哈 去掉?就是贪婪了
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询