mediawiki-php-FastStringSearch 快速字符串搜索和替换的 PHP 扩展
这是一个用于快速字符串搜索和替换的 PHP 扩展。它被使用语言转换器 .php。它支持多个搜索词。我们用它作为替代 PHP 的 strtr,它在某些情况下非常慢。
汉字转换就是其中一种情况。此扩展程序使用用于多个搜索词的 Commentz-Walter 风格算法,或 Boyer-Moore 单个搜索词的算法。
几个源文件取自 GNU grep,并在 GNU General 下公共许可证。PHP 许可证不兼容,因此包含此的 PHP 二进制文件扩展可能无法在任何许可下重新分发。你可以使用这样的然而,私人建造。源文件可以在其下分发各自的许可证。
界面概要如下。要准备字符串搜索:
$fss = fss_prep_search('Hello');
或者
$fss = fss_prep_search( array( 'Hello', 'Hi' ) );
要搜索字符串,请将先前准备好的对象传递给 fss_exec_search,连同主题字符串(“haystack”):
$result = fss_exec_search( $fss, 'xxx hello xxx' );
这将返回一个数组,其中第一个元素是匹配,第二个元素是匹配的长度。如果没有匹配项找到,返回 false。返回第一个匹配,如果多次搜索字符串在同一位置匹配,最长的将被返回。这个功能还接受一个可选的第三个参数,给出开始的偏移量搜索。
替换是这样执行的:
$fss = fss_prep_replace( array( 'from' => 'to' ) ); $text = fss_exec_replace( $fss, $text );
替换数组的解释与 strtr 中的完全相同:始终使用最长匹配,并且已经使用过的字符串部分替换后不再处理。
您可以通过以下方式释放 FSS 结果:
fss_free( $fss );
这通常不是必需的,因为 PHP 会在所有引用被释放。
如果在 fss_exec_replace() 中使用通过 fss_prep_search() 准备的 FSS 对象,所有匹配的字符串都将被删除,即替换为一个空字符串。
github 地址:https://github.com/arnaud-lb/mediawiki-php-FastStringSearch
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论