$element = "Lorem ipsum s. any text";
// the result should be:
$m[1] = "any text";
$element = "Lorem ipsum";
首先,我想在s.
后获取所有文本以进行进一步处理。其次,我需要删除它,包括s.
因此,我正在使用preg_replace_callback
.
我的问题是获得正确的正则表达式:
.PHP:
$regex = "??";
$result = array();
$element = preg_replace_callback($regex, function ($m) use (&$result) {
$result[]=$m[1];
return '';
}, $element);
使用此正则表达式进行匹配:
^(.+?)s'. *(.+)$
并抓住捕获的组#1和#2
正则表达式演示
法典:
$str = "Lorem ipsum s. any text";
if (preg_match('/^(.+?)s'. *(.+)$/', $str, $m)) {
echo "part1=$m[1], part2=$m[2],"
}
试试这个:
$re = "/s''.(.*)/mi";
$str = "Lorem ipsum s. any text'n";
$subst = "";
$result = preg_replace($re, $subst, $str);
现场演示
试试这个
$element = "Lorem ipsum s. any text";
$pattern = '#(s'..*)#i';
preg_match_all($pattern, $element, $matches);
print 'matched : ' . $matches[1][0] . "'n";
print 'clean text : ' . str_replace($matches[1][0], '', $element);
希望对:)有所帮助