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);