【发布时间】:2011-12-05 20:19:19
【问题描述】:
所以我需要过滤/替换 PHP 中的文本以确保破折号周围有空格。
示例:“衬衫 - 通用”需要变为“衬衫 - 通用” 但我不想要额外的空格,所以“衬衫 - 通用”确实会更改为“衬衫 - 通用”(破折号的每一侧都有 2 个空格。
破折号的每一侧总会有一个空格或文本。
现在我正在使用以下代码,它可以工作,但需要很长时间(我正在使用这段代码检查大约 900,000 个变量)。当我添加这个时,我的脚本从 4 分钟变为 52 分钟。
$myText = preg_replace("/(.)(-)(.)/", "$1 - $3", $myText);
想法?
【问题讨论】:
-
不知道,在您的情况下,“条目”是什么,但“从 4 分钟到 52 分钟”听起来,它的作用远不止这个简单的替换。
-
我的脚本做得更多,但这是一直占用的部分。我认为我使用 preg_replace 的方式并不是实现我需要的最佳方式,但我一直无法找到更好的选择。
-
@EricImprint 我还在我的答案中添加了一个非正则表达式解决方案。我很想找到一个性能更快的。
标签: php preg-replace