【问题标题】:How to recognise blank spaces using regular expressions如何使用正则表达式识别空格
【发布时间】:2011-10-02 07:52:18
【问题描述】:

我将如何扩展这个 preg_replace(在 PHP 中),也使用正则表达式来替换空格..

$this->permalink = preg_replace('[^a-z0-9]', '-', $this->permalink);

它用于根据页面标题生成页面永久链接。 “关于我”将变成“关于我”。一切都很好,只是它还没有删除空间。

谢谢!

【问题讨论】:

  • 老实说,您可能应该尝试快速的正则表达式教程。这是非常基本的东西。
  • 您可以将您的正则表达式更改为[^a-z0-9]|\s,但您的上述表达式对我有用。
  • 那行不通。 '|'破坏了功能。

标签: php preg-replace regular-language


【解决方案1】:

正如评论中指出的,您的正则表达式缺少分隔符。我还添加了 i 修饰符,使其不区分大小写。

示例:

$this->permalink = preg_replace('/[^a-z0-9]/i', '-', $this->permalink);

这是一个工作示例:http://codepad.org/OlzQax1c

【讨论】:

  • 这仍然是错误的。他的正则表达式将删除空格,但他缺少 / 分隔符。
  • @coreyward - 你是绝对正确的。我已经更正了我的答案并添加了 i 修饰符。谢谢!
  • @Alex coady - 确实如此。我误解了您的问题,但请复制上面的行并重试。
  • 干杯@francois - 我不能接受你的正确答案再过 6 分钟......
【解决方案2】:

怎么样

$this->permalink = preg_replace('/\W/i', '-', $this->permalink);

\W 是任何非单词字符(字母、数字、下划线)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 2021-05-18
    • 2023-03-30
    • 2011-06-18
    • 1970-01-01
    相关资源
    最近更新 更多