Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/226.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 将**Foo**替换为<;strong>;富</stong>;(正则表达式)?_Php_Regex_Preg Replace_Markdown - Fatal编程技术网

Php 将**Foo**替换为<;strong>;富</stong>;(正则表达式)?

Php 将**Foo**替换为<;strong>;富</stong>;(正则表达式)?,php,regex,preg-replace,markdown,Php,Regex,Preg Replace,Markdown,我在这里能做什么?我真的不会说正则表达式 我将过滤WordPress帖子,并打算做这样的替换。如果有更好/更快的方法,我不想逐一列举所有的**s 类似于每个偶数的***都这样做,而每个奇数的***都这样做,或者如此; $patterns = array("/\*\*([^*]+)\*\*/", ...); $replacements = array("<strong>$1</strong>", ...); $result = preg_replace($patterns,

我在这里能做什么?我真的不会说正则表达式

我将过滤WordPress帖子,并打算做这样的替换。如果有更好/更快的方法,我不想逐一列举所有的
**
s

类似于每个偶数的
***
都这样做,而每个奇数的
***
都这样做,或者如此;
$patterns = array("/\*\*([^*]+)\*\*/", ...);
$replacements = array("<strong>$1</strong>", ...);
$result = preg_replace($patterns, $replacements, $subject);
$replacements=数组(“$1”,…); $result=preg_replace($patterns,$replacements,$subject);
$patterns=array(“/\*\*([^*]+)\*\*/”,…);
$replacements=数组(“$1”,…);
$result=preg_replace($patterns,$replacements,$subject);

这将允许包含单个星号的内部字符串,如“**Foo*Bar**”:

match:(\*{2})([^\1]*?)\1
替换:\2

这将允许包含单个星号的内部字符串,如“**Foo*Bar**”:

match:(\*{2})([^\1]*?)\1
替换:\2

类似这样的内容:?类似这样的内容:?在此处使用
(.+)
可能会更好,而不是只针对字母,尽管您需要调整它,以便它仍然捕获结束语
**
。。对不起:
([^*]+)
谢谢!呃,有没有办法在单个替换调用中添加更多类似的筛选器?类似于
标记或类似标记的背景标记。@Geri已编辑,请查看;)您可以将数组传递给preg_replace,当它位于
[]]内部时,不要转义
[]
这里最好使用
(.+)
,而不是只针对字母,尽管您需要调整它,以便它仍然捕获结束
***
。。对不起:
([^*]+)
谢谢!呃,有没有办法在单个替换调用中添加更多类似的筛选器?类似于
标记或类似标记的背景标记。@Geri已编辑,请查看;)当数组位于
[]
match: (\*{2})([^\1]*?)\1
replace: <strong>\2</strong>