preg_replace_callback怪癖?与特定类型的字符串不匹配

时间:2018-07-25 12:04:10

标签: php regex

这与preg_replace_callback函数有关吗?

完整的代码确实很复杂,但是我将在这里进行一些调试后发现的特定问题,一种特定类型的标记根本无法匹配,为什么会这样呢?

preg_replace_callback('/(?:<del>(.|\n)*?<\/del>)|(?:<ins>(.|\n)*?<\/ins>)|(?P<DOT>[\s\S])/', function($match) {
//does something and runs fully for every tag except the tag below 
}

它与其他标签匹配,包括del标记内的html,但是由于某种原因该img标记不匹配,并且此时代码仅崩溃而根本没有调用回调函数。我使用在线正则表达式测试仪检查了此匹配项。

<del><img src="?tpl=img&amp;url=1/68/thumb/Back-View-Of-Statue-Of-Liberty-With-Full-Moon.jpg" srcset="?tpl=img&amp;url=1/68/thumb/Back-View-Of-Statue-Of-Liberty-With-Full-Moon.jpg 320w,?tpl=img&amp;url=1/68/med/Back-View-Of-Statue-Of-Liberty-With-Full-Moon.jpg 480w,?tpl=img&amp;url=1/68/large/Back-View-Of-Statue-Of-Liberty-With-Full-Moon.jpg 640w" sizes="(max-width:320px) 320px, (max-width:480px) 480px, 640px"></del>

问一下任何人有线索还是可以向我指出正确的方向。

0 个答案:

没有答案