我有以下preg_replace函数
preg_replace('/[\$,Audio, CD, Audiobook, MP3 Audio, Unabridged]/','',$audibleinnertextpieces)
这是我的正则表达式来替换$或WHOLE字符串
Audio, CD, Audiobook, MP3 Audio, Unabridged
由于某种原因,它删除了我的所有字符串中的U,我只想在找到WHOLE字符串与Audio, CD, Audiobook, MP3 Audio, Unabridged
匹配时替换
答案 0 :(得分:3)
您可以使用str_replace
str_replace(array('$', 'Audio, CD, Audiobook, MP3 Audio, Unabridged'), '', $str);
答案 1 :(得分:3)
请勿使用正则表达式进行此类搜索。为什么不使用plain str_replace?
$str = str_replace(array('$', 'Audio, CD, Audiobook, MP3 Audio, Unabridged'), '', $source_string);
答案 2 :(得分:2)
为什么不直接使用str_replace
:
str_replace(array('$','Audio, CD, Audiobook, MP3 Audio, Unabridged'),'',$string);
如果您知道要替换的EXACT字符串,则正则表达式会过度。
答案 3 :(得分:0)
在正则表达式中,方括号创建一个字符类,该字符类将包含括号中任意字符的单个字符。因此[abc]
会匹配'a','b'或'c'。
如果您想匹配$
或Audio, CD, Audiobook, MP3 Audio, Unabridged
,那么您需要更改,这可以通过使用|
分隔各个部分来实现:
preg_replace('/\$|Audio, CD, Audiobook, MP3 Audio, Unabridged/','',$audibleinnertextpieces)
答案 4 :(得分:0)
您可以使用正则表达式
$regex = "/\$|Audio, CD, Audiobook, MP3 Audio, Unabridged/"
将搜索$符号或整个字符串。 然后只需使用
$result = preg_replace($regex, '' ,$audibleinnertextpieces)
将删除任何搜索字词