我正在努力使用简单地转换此字符串所需的正则表达式语法:
posts/2012-03-16-23-07_an-awesome-post.md
进入这个字符串:
an-awesome-post
使用 preg_replace()
PHP 函数。到目前为止,这是我得到的:
preg_replace('posts/[0-9-]*_([a-z-]*).md', '$1', 'posts/2012-03-16-23-07_an-awesome-post.md');
没有骰子。当我将结果分配给一个变量并 echo()
输出该变量时,我什么也得不到。我的正则表达式语法有点生疏,但谷歌搜索了一下让我觉得,至少,我在正确的轨道上。
最佳答案
正则表达式需要用定界符包围。
尝试将 '#posts/[0-9-]*_([a-z-]*).md#'
作为您的 $pattern
(使用“#”作为分隔符)。
此外,您是否希望 .
匹配文字点?然后它必须用反斜杠转义,如 \.
.
关于php - PHP preg_replace() 中的正则表达式产生空结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9750122/