【发布时间】:2017-02-24 17:20:52
【问题描述】:
我是 php 新手,尤其是正则表达式。 我的目标是使用数组中列出的“关键字”提示自动丰富文本。
到目前为止,我已经来了。
$pattern = array("/\bexplanations\b/i",
"/\btarget\b/i",
"/\bhints\b/i",
"/\bhint\b/i",
);
$replacement = array("explanations <i>(Erklärungen)</i>",
"target <i>Ziel</i>",
"hints <i>Hinsweise</i>",
"hint <i>Hinweis</i>",
);
$string = "Target is to add some explanations (hints) from an array to
this text. I am thankful for every hint.";
echo preg_replace($pattern, $replacement, $string);
返回:
target <i>Ziel</i> is to add some explanations <i>(Erklärungen)</i> (hints <i>Hinsweise</i>) from an array to this text. I am thankful for every hint <i>Hinweis</i>
1) 一般来说,我想知道是否有更优雅的解决方案(最终不替换原词)? 在以后的状态下,数组将包含超过 1000 个项目......并且来自 mariadb。
2) 我怎样才能实现“目标”一词实现区分大小写的处理? (不重复我的数组的长度)。
抱歉我的英语不好,非常感谢。
【问题讨论】:
-
在正则表达式模式中用括号将搜索词括起来,并在替换中使用反向引用。