这与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&url=1/68/thumb/Back-View-Of-Statue-Of-Liberty-With-Full-Moon.jpg" srcset="?tpl=img&url=1/68/thumb/Back-View-Of-Statue-Of-Liberty-With-Full-Moon.jpg 320w,?tpl=img&url=1/68/med/Back-View-Of-Statue-Of-Liberty-With-Full-Moon.jpg 480w,?tpl=img&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>
问一下任何人有线索还是可以向我指出正确的方向。