【发布时间】:2013-01-23 22:28:52
【问题描述】:
我正在为我正在开发的一个网站构建一个动态链接系统,这样您就可以输入{_LINK_20_} 之类的内容,它会根据是否动态输入 onclick 事件或 href 属性用户启用或禁用了 javascript。
唯一的问题是我最初使用循环来遍历文档,但我意识到正则表达式会更好地工作,这样我就可以拥有不连续的链接 ID,它仍然可以检测到它们。
我只是在示例页面中对其进行测试,然后再尝试将其嵌入到我的 OOP 后端中,所以这里是示例代码:
$results = array();
$string = 'asdfasdf {_LINK_2_} asdf {_LINK_1_}{_LINK_3_} asdf{_LINK_8_}';
$exp = '/{_LINK_<0-9>+_}/';
$find = preg_match($exp, $string, $results);
但是,当我使用print_r() 输出数组$results 时,它没有结果。我在正则表达式语法方面几乎是一个完整的新手,所以请放轻松。 :)
我真正想做的是只保存匹配文本中的数字,这样我就可以遍历正则表达式结果并根据需要替换每个链接,而无需调用 preg_replace()或str_replace()。
我也尝试过preg_match_all() 功能,但也没有用。先谢谢了,抱歉我的正则表达式太差了!
【问题讨论】:
标签: php regex preg-match pcre preg-match-all