这个好像错了,请问错在哪里了?有点不明白了 回复讨论(解决方案) 一个向后引用都没有? 正则变量不是按括号来区分的么,没有括号怎么知道">
时间:2021-07-01 10:21:17 帮助过:4人阅读
';$a=preg_replace("/<[^>]+?>/","\\0\\2\\4\\5",$a);var_dump($a);?>
一个向后引用都没有?
正则变量不是按括号来区分的么,没有括号怎么知道哪些是变量范围。
还有这也没有那么多变量呢。
都没看明白你这代码要干嘛
先声明,本人不懂PHP,所以不知道preg_replace这是个什么函数
首先,让我按照正常逻辑分析一下你这个正则表达式:
/<[^>]+?>/
/和<还有>都是是普通字符,由/<开始由>/结尾(如果是匹配整个单词或字符的话那么使用\b和^还有$会更好?)
^>则表示除了>以外的字符
+则表示>以外的字符出现1次或多次
?出现在这里我就不知道什么意思了
但是,整篇看下来,诚如楼上所言,您,这是要干嘛?
把里面的超链接标签去掉,变成
$a='
先声明,本人不懂PHP,所以不知道preg_replace这是个什么函数
首先,让我按照正常逻辑分析一下你这个正则表达式:
/<[^>]+?>/
/和<还有>都是是普通字符,由/<开始由>/结尾(如果是匹配整个单词或字符的话那么使用\b和^还有$会更好?)
^>则表示除了>以外的字符
+则表示>以外的字符出现1次或多次
?出现在这里我就不知道什么意思了
但是,整篇看下来,诚如楼上所言,您,这是要干嘛?
我绝对不会承认自己学艺不精的。。懒惰模式。。?
o(?□?)o
$a='';$str=preg_replace("/<\/?a([^>]*)>/", "", $a);var_dump($str);
$a='';$str=preg_replace("/(?:]*>)(.*)(?:<\/a>)/", "\\1", $a);print_r($str);