我有这个PHP代码
$audio_name=preg_replace('/[&#].*[;]/','',$audio['name'][1][$i]);
但我想保留法语字符
答案 0 :(得分:1)
您可以使用preg_replace_callback,如果要删除元素,可以在回调中返回''
,如果要保留匹配元素,则返回匹配元素。
注意:.*
贪婪,直到最后;
才会吃掉所有内容,因此请使用[^;]*
。
答案 1 :(得分:1)
例如,用BBBBBBBB替换AAAAAAAA:
$string= 'start AAAAAAAA end';
echo preg_replace('/(start)(.*?)(end)/i', (!empty('$1') ? '$1' : '').'BBBBBBBB'.(!empty('$2') ? '$2' : '') , $string);