【发布时间】:2011-02-28 01:46:56
【问题描述】:
如何使用 preg_replace 仅保留大写单词、数字、特殊字符或第一个字母为大写但包含不超过 3 个字符的单词。
例如:
Portocjnk Karaer HDS-C 7/11、9/15、8/15-E => HDS-C 7/11、9/15、8/15 -E
Karcher Karcher B 140 R Bp => B 140 R Bp
Karcher Karcher B 140 R Bsp Trr => B 140 R Bsp Trr
Tatata Tatat Yard-Man YM 84 M-W 31AY97KV643 => YM 84 M-W 31AY97KV643
(Tatata) (Tatat) Yard-Man YM 84 M-W 31AY97KV643 => YM 84 M-W 31AY97KV643
提前致谢。
【问题讨论】:
-
如何判断“Karcher B”中的“B”是“必须保留”的一部分,而不仅仅是某人的首字母?
-
如果后面不跟小写,我猜。
-
我认为这是一个足够复杂的问题,您应该自己解析它,而不是把它交给
preg_* 函数。如果你最终这样做了,你想要preg_match_all,而不是preg_replace。preg_replace采用给定的正则表达式并删除匹配的内容。你从你想要匹配的开始。因此,您应该使用匹配而不是替换。 -
您能否更具体地说明“特殊字符”的含义?
-
昨天的回答有什么问题? stackoverflow.com/questions/5133133/…
标签: php preg-replace special-characters uppercase digit