繁体   English   中英

使用字符串时的preg_replace

[英]preg_replace when using string

我有以下preg_replace函数

preg_replace('/[\$,Audio, CD, Audiobook, MP3 Audio, Unabridged]/','',$audibleinnertextpieces)

这是我替换$或WHOLE字符串的正则表达式

Audio, CD, Audiobook, MP3 Audio, Unabridged

由于某种原因,它删除了我所有字符串中的U,我只想替换一下,如果找到整个字符串以匹配Audio, CD, Audiobook, MP3 Audio, Unabridged

您可以只使用str_replace

str_replace(array('$', 'Audio, CD, Audiobook, MP3 Audio, Unabridged'), '', $str);

请勿将正则表达式用于此类搜索。 为什么不使用普通的str_replace?

$str = str_replace(array('$', 'Audio, CD, Audiobook, MP3 Audio, Unabridged'), '', $source_string);

为什么不只使用str_replace

str_replace(array('$','Audio, CD, Audiobook, MP3 Audio, Unabridged'),'',$string);

如果您知道要替换的EXACT字符串,则正则表达式就显得过头了。

在正则表达式中,方括号创建一个字符类,该字符类将在方括号之间的任何字符中一个字符。 因此[abc]将匹配“ a”,“ b”或“ c”。

如果要匹配$Audio, CD, Audiobook, MP3 Audio, Unabridged则需要交替,这可以通过用|分开来实现|

preg_replace('/\$|Audio, CD, Audiobook, MP3 Audio, Unabridged/','',$audibleinnertextpieces)

您可以使用正则表达式

$regex = "/\$|Audio, CD, Audiobook, MP3 Audio, Unabridged/"

它将搜索$符号或整个字符串。 然后就用

$result = preg_replace($regex, '' ,$audibleinnertextpieces)

这将删除任何搜索词

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM