使用字符串时的preg_replace

时间:2013-05-13 15:24:48

标签: php regex

我有以下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匹配时替换

5 个答案:

答案 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)

将删除任何搜索字词