我有一段文字,例如:
XYZ id dui vel erat bibendum hendrerit aliquet ac lorem。整数ABC turpis, facilisis sat amet ultricies non, tempor LMNOP est. Aliquam sat amet sapien justo。Quisque TUV dolor dolor,欧盟 sodales mi。
我需要用带编号的占位符替换粗体字。
%%%1%%% id dui vel erat bibendum hendrerit aliquet ac lorem。整数 %%%2%%% turpis, facilisis sit amet ultricies non, tempor %%%3%%% est. Aliquam sit amet sapien justo. Quisque %%%4%%% dolor dolor, eu sodales mi。
进行此替换时,我需要将要替换的文本(例如 XYZ)存储到一个数组中,并键入占位符的编号(例如 1),以便稍后我可以返回并将它们换回原始值。
困难的部分是我事先不知道替换文本,所以我需要一个回调来根据当前已经替换的项目数生成它。
我在旧版本的 PHP 上运行,并且我的工具包中没有可用的匿名函数,所以我相信我仅限于使用preg_replace_callback
. 看来我的问题归结为这样一个事实,即我需要创建(使用create_function
)的函数才能访问一些共享的全局状态——至少是一个共享的全局数组,我可以在其中推送和弹出被替换的文本到堆。
这可能吗?