我正在使用正则表达式来匹配模板文件中的链接对象。基本上,一个链接被识别,并且根据用户是否启用了 JS 将其转换为 javascript 或 HTML。
以下是示例链接的样子:
<div id="someDiv">{_LINK_9_link text here_noclass_noid_}</div>
这是我用来在代码中查找这些对象的正则表达式:
$linkExp = '/\{_LINK_([0-9]+)_([a-z0-9 ]+)_([a-z0-9]+)_([a-z0-9]+)_\}/i';
就目前而言,此代码可以很好地执行上述示例,其中链接文本可以包含字母、数字或空格。但是,当我尝试将/
或添加-
到链接文本时,我无法让正则表达式继续工作。
这是我尝试过的:
<!-- html link code -->
<div id="someDiv">{_LINK_9_tips/suggestions_noclass_noid_}</div>
// php link expression
$linkExp = '/\{_LINK_([0-9]+)_([a-z0-9 \/\-]+)_([a-z0-9]+)_([a-z0-9]+)_\}/i';
但由于/
. 如果我去掉斜线,它工作正常。关于如何匹配文字/
或-
正则表达式的任何想法?允许比字母、数字、空格、连字符或斜杠更多的字符会很好,但我是正则表达式的新手,所以我真的不知道我在做什么。如果有人可以帮助我修复它,以便它匹配链接文本的任何内容(甚至是符号,例如 &、%、$ 等),那也将非常感激。
提前致谢。