我有一个函数,我想告诉我字符串中有哪些特殊字符。
我不想剥离它们我想放入另一个变量。
if (preg_match('/[\'^£$%&*()}{@#~?><>,|=_+¬-]/', $string)) {
$special_characters = special characters from $string
}
有办法做到这一点吗?
由于
答案 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] => %
)
)