\ w字符类型是怎么回事?目前它输出一个名为$ replace的数组,除了每个名字的第一个字母外,所有名称都有。我真的不明白它到底做了什么。 \ w是任何单词字符,但这对我没有帮助。
<?php
$rappers = array('Drake Themotto', 'Tom Ford', 'Lil Wayne');
$replace = preg_replace('/(\w)\w* (\w)/', '\1 \2', $rappers);
print_r($replace);
?>
答案 0 :(得分:0)
从左到右,你的正则表达式包含:
对于“Drake Themotto”,这意味着:
对于替换,这意味着您的字符串的匹配部分是“Drake T”。此匹配字符串将替换为“\ 1 \ 2”,在这种情况下为“D T”。
之后,还有其他一些字符“hemotto”。你没有在你的正则表达式中提到它们,但因为它不包含$来标记字符串的结尾(在这种情况下正则表达式不匹配)或另一个\ w *匹配(=在这种情况下:删除)字符串的其他字符,这个休息只会被忽略。因为你只是“替换”某些东西,“忽略”意味着这里不会替换任何东西,它将被附加到结果中。