我有|
分開的特殊字符的列表中刪除一個清單的字符,可以說$chars = "@ | ; | $ |";
PHP從其他
我有一個字符串,比方說$stringToCut = 'I have @ list ; to Cut';
我想從$stringToCut
全部刪除字符在$chars
。
我該怎麼做?
提前THX
我有|
分開的特殊字符的列表中刪除一個清單的字符,可以說$chars = "@ | ; | $ |";
PHP從其他
我有一個字符串,比方說$stringToCut = 'I have @ list ; to Cut';
我想從$stringToCut
全部刪除字符在$chars
。
我該怎麼做?
提前THX
我會轉換你的角色的列表中刪除一個數組,並使用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);
使用preg_replace()
刪除
<?php
$chars = "@ | ; | $ |";
$stringToCut = 'I have @ list ; to Cut';
$pattern = array('/@/', '/|/', '/$/', '/;/');
$replacement = '';
echo preg_replace($pattern, $replacement, $stringToCut);
?>
好,而不是使用正則表達式,只是爆炸的字符清單:
$chars = explode('|',str_replace(' ','','@ | ; | $ |'));//strip spaces, make array
echo str_replace($chars,'',$string);
str_replace
接受數組作爲第一個和/或第二個參數,也是see the docs。
這使您可以用不同的對象替換每個字符,或者(正如我在此處所做的那樣)將它們全部替換爲全部(也就是將其刪除)。
@vladimire:我也在爆炸它,我只是在爆炸之前從列表中刪除所有空格。如果你的字符串真的是'@ | ; | $',你正在替換像''的子字符串; '< - 空格 - 半角冒號空格。這是唯一的區別。就這樣你知道 –