【发布时间】:2017-04-21 01:17:52
【问题描述】:
我已经想出了如何在保留重音符号的同时过滤掉非字母数字字符,但是我怎样才能保留标点符号和常见的键盘字符,例如 !%$#&@*()[]:;/-+_=。 ,
我还需要保留字符串中的所有 html 标记和 BR 换行符。这可能吗?
$caption = preg_replace('/[^\p{Latin}\d\s\p{P}]/u', '', $caption);
【问题讨论】:
-
也许像
<\/?.+?>(*SKIP)(*FAIL)|[^\p{Latin}\d\s\p{P}]这样的东西虽然这并不能真正验证它是一个 HTML 元素,但更多的是你有一个<和一个>介于两者之间。
标签: php regex preg-replace