3
例如,如果我想的preg_replace一個HTML元素的標題:PHP preg_replace:我如何匹配某些東西但不能替換它?
$str = preg_replace('/title=\"([^\"]+)\"/', 'foo', $str);
請不要給我其他的解決方案(非正則表達式)這個具體的例子,這僅僅是一個例子。我需要一個適用於任何正則表達式的解決方案。
例如,如果我想的preg_replace一個HTML元素的標題:PHP preg_replace:我如何匹配某些東西但不能替換它?
$str = preg_replace('/title=\"([^\"]+)\"/', 'foo', $str);
請不要給我其他的解決方案(非正則表達式)這個具體的例子,這僅僅是一個例子。我需要一個適用於任何正則表達式的解決方案。
如果您想將部件與preg_replace
匹配,但僅部分替換其他部件,則有兩種選擇。
要麼你只是重新插入匹配的零件(請用捕捉組,然後用$1
和$3
):
$str = preg_replace('/(title=")([^"]+)(")/', '$1foo$3', $str);
或者你用assertions:
$str = preg_replace('/(?<=title=")([^"]+)(?=")/', 'foo', $str);