PHP只在特定字符之间保留文本
我有许多字符串如下所示:PHP只在特定字符之间保留文本,php,regex,Php,Regex,我有许多字符串如下所示: [additional-text Sample text...] Sample text... 最后总是有一个左括号+附加文本+单个空格和一个右括号,我需要将它们全部删除,以便最后的字符串如下所示: [additional-text Sample text...] Sample text... 非常感谢您提供的任何帮助或指导。获取您想要作为捕获组保留的子字符串: ^\[\S+\s([^]]+)\]$ 现在在替换中,使用唯一捕获的组\1 获取要作为捕获组保留的子
[additional-text Sample text...]
Sample text...
最后总是有一个左括号+附加文本+单个空格和一个右括号,我需要将它们全部删除,以便最后的字符串如下所示:
[additional-text Sample text...]
Sample text...
非常感谢您提供的任何帮助或指导。获取您想要作为捕获组保留的子字符串:
^\[\S+\s([^]]+)\]$
现在在替换中,使用唯一捕获的组\1
获取要作为捕获组保留的子字符串:
^\[\S+\s([^]]+)\]$
现在在替换中,使用唯一捕获的组\1
您可以使用:
$re = '/\[\S+\s|\]/';
$str = "[additional-text Sample text...]";
$result = preg_replace($re, '', $str);
//=> Sample text...
您可以使用:
$re = '/\[\S+\s|\]/';
$str = "[additional-text Sample text...]";
$result = preg_replace($re, '', $str);
//=> Sample text...
使用
substr
删除前17个字符。使用正则表达式删除最后两个:
$val = '[additional-text Sample text...]';
$text = preg_replace('#\]$#', '', substr($val, 17));
使用
substr
删除前17个字符。使用正则表达式删除最后两个:
$val = '[additional-text Sample text...]';
$text = preg_replace('#\]$#', '', substr($val, 17));
您可以使用此选项获取文本块中的所有匹配项:
preg_match_all("/\[additional-text (.*?)\]/",$text,$matches);
您的所有文本将以$matches[1]格式显示。因此,这将是:
$text = "[additional-text Sample text...]dsfg fgfd[additional-text Sample text2...] foo bar adfd as ff";
preg_match_all("/\[additional-text (.*?)\]/",$str,$matches);
var_export($matches[1]);
您可以使用此选项获取文本块中的所有匹配项:
preg_match_all("/\[additional-text (.*?)\]/",$text,$matches);
您的所有文本将以$matches[1]格式显示。因此,这将是:
$text = "[additional-text Sample text...]dsfg fgfd[additional-text Sample text2...] foo bar adfd as ff";
preg_match_all("/\[additional-text (.*?)\]/",$str,$matches);
var_export($matches[1]);
你也可以这样做
$a = '[additional-text Sample text...]';
$a= ltrim($a,"[additional-text ");
echo $a= rtrim($a,"]");
你也可以这样做
$a = '[additional-text Sample text...]';
$a= ltrim($a,"[additional-text ");
echo $a= rtrim($a,"]");
在正则表达式中不需要,请使用: 其中,
17
是[附加文本
的长度,18
与最后一个]的长度相同+1
看
正则表达式解决方案也是基本的:
^\[additional-text (.*)]$
或者-如果结束前没有]
:
^\[additional-text ([^]]*)]$
并替换为$1
反向参考。请参阅,下面是一个:
图案详情:
-字符串的开头^
-文字\[
[
-文字文本附加文本
-除换行符以外的零个或多个字符,尽可能多至(.*)
-字符串末尾的一个]$
]
- 在正则表达式中不需要,请使用:
其中,
17
是[附加文本
的长度,18
与最后一个]的长度相同+1
看
正则表达式解决方案也是基本的:
^\[additional-text (.*)]$
或者-如果结束前没有]
:
^\[additional-text ([^]]*)]$
并替换为$1
反向参考。请参阅,下面是一个:
图案详情:
-字符串的开头^
-文字\[
[
-文字文本附加文本
-除换行符以外的零个或多个字符,尽可能多至(.*)
-字符串末尾的一个]$
]