我可以使用以下代码删除所有问号:
preg_replace('/(\?+)/', '', $string)
Run Code Online (Sandbox Code Playgroud)
无论我做什么,我都无法将它删除所有减号.我尝试的一切都打破了整个正则表达式.
$buffer = preg_replace('!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $buffer);
我有没有可以学习正则表达式的地方?我知道基础知识.
如何剥离所有空白区域 ?
我把它作为我创建的包装器的输入,
[b] bold [/b]
所以在将文本转换为粗体之前,我想剥去所有空白区域,并将其转换为[b]bold[/b],
$this->content = preg_replace("/\[(.*?)\]\s\s+(.*?)\s\s+\[\/(.*?)\]/",
"[$1]$2[/$3]",
$this->content);
Run Code Online (Sandbox Code Playgroud)
但它不起作用!你能帮帮忙吗?
如何使用正则表达式使用preg_replace删除给定字符之后的任何内容以及给定字符之后的任何内容?当然,这可以通过爆炸和条带化等许多其他方式来完成.但我对preg_replace和regex很好奇.
所以我从下面的字符串中唯一需要的是03b并删除/和斜杠(/)之后和/和点(.)之后的所有内容
$string = 'rmbefore/03b.rmafter'
Run Code Online (Sandbox Code Playgroud)
提前致谢!
如何编写转换为的preg_replace字符串:
"[[ STRING1 | STRING 2 ]]"
Run Code Online (Sandbox Code Playgroud)
至
<a href='STRING 2'>STRING1</a>
Run Code Online (Sandbox Code Playgroud)
用PHP?我无法匹配字符"[","]"和"|" 因为他们保留.
我如何摆脱preg_split结果中的尾随空格而不使用preg_replace先从$test字符串中删除所有空格?
$test = 'One , Two, Thee ';
$test = preg_replace('/\s+/', ' ', $test);
$pieces = preg_split("/[,]/", $test);
Run Code Online (Sandbox Code Playgroud) 就像,如果这个问题标题的第二部分不存在,我本可以这样做:
$string = 'Hello,this is my string.';
$replacedstring = str_replace(',', ', ', $string);
Run Code Online (Sandbox Code Playgroud)
但是,如果用户确实正确地格式化了句子,就像在Hello, this is my string..然后这将导致它成为Hello, this is my string.,我不想要.
那么,我如何preg_replace在PHP 中使用和类似的正则表达式函数呢?
我正在编写一个非常基本的评论系统,并希望实现一个简单,高效的坏词过滤器.
我知道与坏词过滤器有关的问题并且意识到基本上不可能写出一个能让拼写错误和暗示出来的词,但我只是想写一个非常简单的词来保持正确拼写的粗俗词拼写.
我找到了一个大约400个单词的错误单词列表,并将其放入preg_replace()模式中:
/(these|are|bad|words|like|ass)/
Run Code Online (Sandbox Code Playgroud)
问题是它取代了模式中任何出现的字符,即使它们位于单词的中间.因此,例如,assist将被替换为ist.
第二个问题:不是用空字符串替换坏字,或者用固定宽度的字符串****替换,例如,有没有办法用一串具有相同长度的替换字的星号替换它?
我需要替换所有不是字母的起始字符,但我的正则表达式模式正在替换所有字符.我该如何解决?
$text = "!@#$%^text!@#$%^";
$text = preg_replace("~[^\w]~", "", $text);
echo $text;
Run Code Online (Sandbox Code Playgroud)
结果:
text
Run Code Online (Sandbox Code Playgroud)
需要结果:
text!@#$%^
Run Code Online (Sandbox Code Playgroud) 我想替换变量中的所有:first_name事件$body,$first_name但我坚持使用正则表达式部分.正则表达式不起作用.当我回复身体时,原始字符串被打印出来.什么是正确的正则表达式?
$first_name = "Joe";
$body = "Hi :first_name. Have a nice day :first_name!";
$regex = "/\b:first_name\b/";
$body = preg_replace($regex, $first_name, $body);
echo $body;
Run Code Online (Sandbox Code Playgroud) php ×10
preg-replace ×10
regex ×9
filter ×1
preg-match ×1
preg-split ×1
profanity ×1
string ×1
whitespace ×1