我有大约1000个不同的句子。我想从这些句子中删除单词“ DLC”,除了片段“ All DLC BG”和“ DLC Comfort”之外,因此不应从这两个片段中删除单词“ DLC”。
我认为这里需要array()
,但我不知道该怎么做。
我尝试过这样的事情:
if (stripos($title, 'All DLC BG') && stripos($title, 'DLC Comfort') == false) {
$title = str_ireplace("DLC ", " ", $title);
}
但不起作用。
答案 0 :(得分:0)
您快到了,但是您需要检查两个操作的布尔条件,并使用三等号:
if (stripos($title, 'All DLC BG') === false && stripos($title, 'DLC Comfort') === false) {
$title = str_ireplace("DLC ", "", $title);
}
另外,我认为您想替换为空字符串,而不是单个空格。
答案 1 :(得分:0)
如果DLC
在一个句子中可以出现多次,则一种选择可能是使用正则表达式,并使用您不想更改的替代词来选择这些句子,然后使用SKIP FAIL跳过那些句子。然后仅使用单词边界匹配\bDLC\b
。
在替换中,使用一个空字符串。
\b(?:All DLC BG|DLC Comfort)\b(*SKIP)(*FAIL)|\bDLC\b
例如:
$re = '/(?:All DLC BG|DLC Comfort)(*SKIP)(*FAIL)|\bDLC\b/m';
$title = 'test All DLC BG test DLC Comfort and DLC here
test here All DLC BG All DLC BG BG ALL DLC';
$result = preg_replace($re, '', $title);
echo $result;
答案 2 :(得分:-2)
您可以使用str_replace()
并传递一个空字符串,我认为。
希望这会有所帮助!