【问题标题】:How to allow characters and whitspaces in PHP with UTF-8 support?如何在支持 UTF-8 的 PHP 中允许字符和空白?
【发布时间】:2013-05-29 13:11:46
【问题描述】:

我想搜索/允许字符和空格。 这适用于 ANSI/LATIN-1 字符:

$pattern = '#<a [\W\w]* href="1"#i';

我试过了,但显然它不起作用:

mb_internal_encoding('UTF-8');
mb_regex_encoding("UTF-8");
$pattern = '/<a[\pLN\W]* href="1"/ui';

【问题讨论】:

  • 真正的 答案是:使用 HTML 解析器!? :)
  • \w 与 \W 相反,因此 [\w\W] 匹配所有字符

标签: php regex utf-8


【解决方案1】:

改用这个

$pattern = '~<a [\pL\s]*\bhref="1"~ui';



<a  #begin with a tag + a space
[\pL\s]*  # zero or more unicode letters or blank characters (space newline tab)
\bhref="1" # href="1" not preceded by a letter or a number

ui # modifier u for unicode string, i case insensitive

【讨论】:

  • 你能解释一下这个表达式的作用吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-09-19
  • 1970-01-01
  • 2012-08-12
  • 2012-08-22
相关资源
最近更新 更多