使用 PHP "preg_match" 打印不需要的字符

Printing Unwanted Characters with PHP "preg_match"

我正在使用 PHP“preg_match”。我想打印名称中的错误字符。我该怎么做?

"preg_match" 如果有允许值以外的字符,我想在屏幕上打印不需要的字符。下面的代码中应该添加什么样的内容?

我的代码:

<?php 
    $name = "He/llo W+or_ld Test=Code";

    if( preg_match('/[^a-zA-Z ]/', $name) ){

       echo "Unavailable Characters: ";   // What changes should be made here?

    }
?>

想要的结果:

Unavailable Characters: /+_=

使用

$name = "He/llo W+or_ld Test=Code";
if( preg_match_all('/[^a-zA-Z ]/', $name, $res) ){
  echo "Unavailable Characters: " . implode('', $res[0]);
}

输出:

Unavailable Characters: /+_=

PHP demo

注释:

  • 使用 preg_match_all,您提取所有匹配项
  • 您需要将第三个参数传递给 preg_match_all 以将匹配实际存储在那里(这里,我传递 $res
  • 您需要 implode() $res[0] 包含匹配值的数组。