Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/244.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
两个打捆针之间的php preg_更换_Php_Preg Replace - Fatal编程技术网

两个打捆针之间的php preg_更换

两个打捆针之间的php preg_更换,php,preg-replace,Php,Preg Replace,我知道这类问题以前已经被问过并回答过了,但我无法在模式匹配中找出错误 由于一些非常古怪的遗留数据库输入,我试图删除两个html特殊字符之间的任何内容,然后继续处理之后的剩余内容。 原始代码变为12在1之后加粗,但最终变为1b2 我想留下12或12 我离你很近吗 thx 艺术 您是否尝试过: $str = strip_tags(html_entity_decode('1<b>2')); 或者,如果要用其他内容(如空格)替换标记: $str = html_entity_

我知道这类问题以前已经被问过并回答过了,但我无法在模式匹配中找出错误

由于一些非常古怪的遗留数据库输入,我试图删除两个html特殊字符之间的任何内容,然后继续处理之后的剩余内容。 原始代码变为
12
在1之后加粗,但最终变为
1b2

我想留下
12
12

我离你很近吗

thx 艺术

您是否尝试过:

$str = strip_tags(html_entity_decode('1<b>2'));
或者,如果要用其他内容(如空格)替换标记:

$str = html_entity_decode('1<b>2');
$output = preg_replace('/<\/?[^\>]+>/ui', ' ',$str);
$str=html_entity_decode('1b2');
$output=preg_replace('/]+>/ui',''$str);

看起来应该删除中间的斜杠

/&#?[a-z0-9]{2,8};[^&]+&#?[a-z0-9]{2,8};/is

preg_replace('/[^&]+/',''$str);,有什么问题@SpacedMonkey html特殊的CHR可以是任何东西,因此上面只是一个示例。根据您的工作示例,我尝试了“/&#?[a-z0-9]{2,8};[^&]+/&#?[a-z0-9]{2,8};/',用通配符替换,但匹配过程失败。抱歉,我不知道它是任何实体。顺便问一下,为什么中间的斜线?@ SpacedMonkey为什么在中间的斜线?多内斯!!这就是问题所在。如果你把上面的答案作为答案,我会把它标记为正确。thx Artpls请参见上文,它需要作为任何&。。。可能在系统中。结果是在regex比赛中多了一个。thx艺术
/&#?[a-z0-9]{2,8};[^&]+&#?[a-z0-9]{2,8};/is