PHP - 将字符串中的特殊字符放入另一个字符串中

时间:2015-03-04 05:47:25

标签: php preg-match special-characters

我有一个函数,我想告诉我字符串中有哪些特殊字符。

我不想剥离它们我想放入另一个变量。

if (preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $string)) {
    $special_characters = special characters from $string
}

有办法做到这一点吗?

由于

3 个答案:

答案 0 :(得分:0)

试试这个:

$string = 'sds$%&dd$%&gfhfh';
$string = preg_match_all ('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $string, $result);
$output = '';
foreach($result[0] as $r){

$output .= $r;
}

echo $output;

输出:$%&$%&

请参阅live demo

答案 1 :(得分:0)

preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $string, $matches);
var_dump($matches);

答案 2 :(得分:0)

你几乎已经拥有它了!只需添加&#34;另一个变量&#34;作为匹配参数:

if(preg_match_all('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $string, $special_characters)) {
  print_r($special_characters);
}

请注意 $ special_characters 将是数组

因此,对于$string = "$450 is the total cost, which is about 20% of the income.";,您将拥有:

Array
(
    [0] => Array
        (
            [0] => $
            [1] => ,
            [2] => %
        )

)