Php 从字符串中删除任何我想要的内容

Php 从字符串中删除任何我想要的内容,php,regex,preg-replace,Php,Regex,Preg Replace,我有一些关键字,符号,字母等,我想从我的php字符串删除。我试图添加它,但效果不太好 $string = preg_replace("/(?![=$'%-mp4mp3])\p{P}/u","", $check['title']); 我很想从字符串中删除单词mp3、mp4、./、apples 请帮助指导我,提前谢谢 你不需要正则表达式 $string = "Your original string here"; $keywords = array('mp3', 'mp4'); echo str_

我有一些关键字,符号,字母等,我想从我的php字符串删除。我试图添加它,但效果不太好

$string = preg_replace("/(?![=$'%-mp4mp3])\p{P}/u","", $check['title']);
我很想从字符串中删除单词mp3、mp4、./、apples


请帮助指导我,提前谢谢

你不需要正则表达式

$string = "Your original string here";
$keywords = array('mp3', 'mp4');
echo str_replace($keywords, '', $string);

你不需要正则表达式

$string = "Your original string here";
$keywords = array('mp3', 'mp4');
echo str_replace($keywords, '', $string);

首先:
[]
在正则表达式中引入字符类。连字符用于表示两个符号之间的字符范围。因此,正则表达式会进行太多擦除的原因(我认为)是因为
[=$'%-mp4mp3]
表示
=,$,',从%到m(实际上是72个字符!),p,3,4都是

第二:正则表达式不会抓取“坏”字符/关键字。事实上,你们会在错误的字符/关键字后删除标点符号,因为反向前瞻是元序列(它不包括在匹配中)

将正则表达式更改为:

"/[=$'%-]|mp3|mp4/u"

首先:
[]
在正则表达式中引入字符类。连字符用于表示两个符号之间的字符范围。因此,正则表达式会进行太多擦除的原因(我认为)是因为
[=$'%-mp4mp3]
表示
=,$,',从%到m(实际上是72个字符!),p,3,4都是

第二:正则表达式不会抓取“坏”字符/关键字。事实上,你们会在错误的字符/关键字后删除标点符号,因为反向前瞻是元序列(它不包括在匹配中)

将正则表达式更改为:

"/[=$'%-]|mp3|mp4/u"

这些标志(linux bash cron kill)是什么??您是在寻找PHP解决方案还是Bash解决方案?最好是PHP,但sh也可以。标志(LinuxBashCronKill)是什么??您是在寻找PHP解决方案还是Bash解决方案?最好是PHP,但sh也可以。我如何删除像:。/@他们可以将其添加到数组中:
array('mp3','mp4','./','apples')
hmm,这很奇怪,我必须再次测试,我尝试了一下,但没有成功。这种方法比正则表达式更容易理解。再次感谢!我也在尝试这样做,但到目前为止,它并不喜欢我的$badwords=array(“(”,“)”,“”);我想这样做是有用的:$badwords=array(“(”,“)”,“”);我如何删除像:./@他们可以将其添加到数组中:
array('mp3','mp4','./','apples')
hmm,这很奇怪,我必须再次测试,我尝试了一下,但没有成功。这种方法比正则表达式更容易理解。再次感谢!我也在尝试这样做,但到目前为止,它并不喜欢我的$badwords=array(“(”,“)”,“”);我想这样做是有用的:$badwords=array(“(”,“)”,“”);非常感谢。我有一个主要的学习曲线,学习正则表达式使我失去了一些脑细胞,哈哈。我永远都无法理解正则表达式到底是什么!谢谢你的提示。我设法在mp3和mp4之间插入了其他单词。我也尝试删除\,所以我只是在=。现在看起来是这样的:(“/[=\/$”%-.]|mp3 |布拉|布拉|布拉谢谢你。我有一个主要的学习曲线,学习正则表达式导致我失去了一些脑细胞lol。我永远都无法理解正则表达式什么的!谢谢你的提示。我已经设法在mp3和mp4之间放置了其他单词。我也尝试删除\,所以我只是在=。现在看起来像这样:(“/[\/$”-]|mp3 |废话|废话|废话