【问题标题】:how to create correct preg_replace pattern?如何创建正确的 preg_replace 模式?
【发布时间】:2017-05-15 12:50:02
【问题描述】:

我的 magento 商店中有这些网址: charogh/产品/1298/产品名称 每个产品的产品名称都会改变,正确的结构是: charogh/产品/[0-9]+/[a-zA-z0-9]+

当用户输入此 url 时,我应该将 'product/[0-9]+/' 更改并替换为 '' 并将 url 设置为 'charogh/' '查罗/产品/[0-9]+/' 并且当用户输入这个 url 时不要替换它 'charogh/产品/[0-9]+/产品名称' 我如何使用 preg_replace 或 preg_match 做到这一点?

我使用这种模式,但它在两种结构中都替换了 $header=preg_replace('//charogh/product/[0-9]+/',"charogh",$header);

感谢您的帮助!

【问题讨论】:

  • 试试'/\/charogh\/product\/[0-9]+\/?$/'

标签: php preg-replace preg-match


【解决方案1】:

我建议您使用$ 锚将匹配锚定在字符串末尾:

'/\/charogh\/product\/[0-9]+\/?$/'

这样可以防止匹配包含 1 位以上数据的字符串。

另外,末尾的 \/? 允许匹配 1 个或 0 个 / 符号(即 / 是可选的)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-01-08
    • 2018-03-20
    • 2016-10-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-18
    • 2017-03-09
    相关资源
    最近更新 更多