我有崇高的文字或phpstorm。正則表達式 - 獲取匹配的索引
我想通過正則表達式來改變這個字符串替換:
Hello world
到
<span class="word1">Hello</span>
<span class="word2">world</span>
怎麼辦呢?
我的代碼:
(\w+)
的是什麼,而不是$指數?
<span class="word$index">$1</span>
我有崇高的文字或phpstorm。正則表達式 - 獲取匹配的索引
我想通過正則表達式來改變這個字符串替換:
Hello world
到
<span class="word1">Hello</span>
<span class="word2">world</span>
怎麼辦呢?
我的代碼:
(\w+)
的是什麼,而不是$指數?
<span class="word$index">$1</span>
我懷疑最初的問題是關於這個特定的案例,但如果是的話,這是一個很好的解決方案。 –
試試這個
$re = "/\\w+/m";
$str = "Hello world Hello2 world2";
preg_match_all($re, $str, $matches);
var_dump($matches);
$out="";
if(count($matches[0])>0) foreach($matches[0] as $k=>$v){
$id=$k+1;
$out .= "<span class=\"word$id\">$v</span>\n";
}
var_dump($out);
輸出:
array (size=1)
0 =>
array (size=4)
0 => string 'Hello' (length=5)
1 => string 'world' (length=5)
2 => string 'Hello2' (length=6)
3 => string 'world2' (length=6)
string '<span class="word1">Hello</span>
<span class="word2">world</span>
<span class="word3">Hello2</span>
<span class="word4">world2</span>
' (length=134)
我想你應該通過一個否定模式分裂和周圍你想要的文字(這樣你可以有多個字,而不是兩個)放。 –
只能通過正則表達式,你不能像這樣做 $ 1''。 –