$element = "Lorem ipsum s. any text";
// the result should be:
$m[1] = "any text";
$element = "Lorem ipsum";
首先,我想在s.
之后获取所有文本以进行进一步处理。其次,我需要删除此内容,包括s.
因此我正在使用preg_replace_callback
。
我的问题是获得正确的RegEx:
PHP:
$regex = "??";
$result = array();
$element = preg_replace_callback($regex, function ($m) use (&$result) {
$result[]=$m[1];
return '';
}, $element);
答案 0 :(得分:0)
使用此正则表达式进行匹配:
^(.+?)s\. *(.+)$
抓住被捕获的组#1和#2
$str = "Lorem ipsum s. any text";
if (preg_match('/^(.+?)s\. *(.+)$/', $str, $m)) {
echo "part1=$m[1], part2=$m[2],"
}
答案 1 :(得分:0)
试试这个:
$re = "/s\\.(.*)/mi";
$str = "Lorem ipsum s. any text\n";
$subst = "";
$result = preg_replace($re, $subst, $str);
答案 2 :(得分:0)
试试这个
$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);
希望有所帮助:)