1

我有一个由 分隔的特殊字符列表|,可以说$chars = "@ | ; | $ |";

我有一个字符串,比方说$stringToCut = 'I have @ list ; to Cut';

$stringToCut我想从$chars.

我该怎么做?

提前谢谢

4

3 回答 3

3

我会将要删除的字符列表转换为数组并使用str_replace

$chars_array = explode($chars);
// you might need to trim the values as I see spaces in your example

$result = str_replace($chars_array, '', $stringToCut);
于 2012-11-16T16:36:04.433 回答
1

用于preg_replace()删除

<?php
$chars = "@ | ; | $ |";

$stringToCut = 'I have @ list ; to Cut';
$pattern = array('/@/', '/|/', '/$/', '/;/');
$replacement = '';
echo preg_replace($pattern, $replacement, $stringToCut);

?>
于 2012-11-16T16:33:09.287 回答
1

好的,而不是使用正则表达式,只需分解字符列表:

$chars = explode('|',str_replace(' ','','@ | ; | $ |'));//strip spaces, make array
echo str_replace($chars,'',$string);

str_replace接受一个数组作为第一个和/或第二个参数,也请参阅文档
这使您可以用不同的对应物替换每个字符,或者(就像我在这里所做的那样)将它们全部替换为空(也就是删除它们)。

于 2012-11-16T16:37:48.467 回答