Php Regex-删除所有与模式不匹配的行
我有以下字符串(带换行符):Php Regex-删除所有与模式不匹配的行,php,regex,string,Php,Regex,String,我有以下字符串(带换行符): something 1 什么 有些事 我需要匹配某个2和某个3并替换它,但我有一个结果: <a>something1</a> <a>replacement2</a> <a>replacement3</a> something 1 替代品2 替换3 但我只需要更换,不需要任何东西。有3000个这样的字符串,所以自己删除它会花费很多时间。你有什么想法吗?你可以使用一次完成过滤和替换: $s =
something 1
什么
有些事
我需要匹配某个2和某个3并替换它,但我有一个结果:
<a>something1</a>
<a>replacement2</a>
<a>replacement3</a>
something 1
替代品2
替换3
但我只需要更换,不需要任何东西。有3000个这样的字符串,所以自己删除它会花费很多时间。你有什么想法吗?你可以使用一次完成过滤和替换:
$s = <<< EOF
<a>something1</a>
<a>something2</a>
<a>something3</a>
EOF;
$subject = explode("\n", $s);
echo implode("\n", preg_filter('~\bsomething([02-9])\b~', 'replacement$1', $subject));
$s=你需要在
和
之间替换还是整行?嘿:)我需要在两者之间替换,现在一切都好了嘿,我喜欢你的答案,不幸的是我没有15分,所以我在评论中写+1:)没问题@jakub:接受答案已经足够了,但你现在有15次了:)是的:)那么+1;)
$s = <<< EOF
<a>something1</a>
<a>something2</a>
<a>something3</a>
EOF;
$subject = explode("\n", $s);
echo implode("\n", preg_filter('~\bsomething([02-9])\b~', 'replacement$1', $subject));
<a>replacement2</a>
<a>replacement3</a>