我想用PHP替换单词preg_replace。 如果在这个单词前面存在字符/>,它不应该替换该单词。PHP preg_replace单词但不是如果在单词前面有某些字符
即
如果匹配
$word = "foo";
这本应及时更换不应该,如果匹配
$word = "/>foo";
我想用PHP替换单词preg_replace。 如果在这个单词前面存在字符/>,它不应该替换该单词。PHP preg_replace单词但不是如果在单词前面有某些字符
即
如果匹配
$word = "foo";
这本应及时更换不应该,如果匹配
$word = "/>foo";
给你;-)
(?<!/>)foo
良好替代运气
我试过你的正则表达式,但似乎取代了测试字符串“/> foo”。 –
@AurelioDeRosa:你是怎么尝试的?这是*正确的答案。在PHP中,你需要围绕正则表达式定义分隔符,这很有帮助,所以它看起来像'$ result = preg_replace('%(?)foo%','REPLACED',$ subject);' –
有没有人用PHP试过呢? – williamcarswell
if ($word[0] != '/' && $word[1] != '>') {
$new_string = str_replace($word, $replace, $string);
}
它不工作,因为你不设置返回的值。 –
对不起,编辑:) – 2011-10-12 15:43:15
[不使用正则表达式来操作HTML](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454# 1732454) –
“/> foo”;?或“/>(换行) foo”; – FailedDev
不想操纵html。在我的情况下,它将永远foo – williamcarswell