php
  • preg-replace
  • preg-match
  • 2011-12-26 96 views -1 likes 
    -1

    對不起,但我無法解決我的問題,你知道,我是一個noob。 我需要找到與preg_match字符串中的東西..然後用preg_replace替換爲新詞,沒關係,但我不明白如何將替換的字放回該字符串。 這是我得到Preg_match,替換並回到字符串

    $text ='zda i "zda"'; 
    preg_match('/"(\w*)"/', $text); 
    $najit = '/zda/'; 
    $nahradit = 'zda'; 
    $o = '/zda/'; 
    $a = 'if'; 
    $ahoj = preg_replace($najit, $nahradit, $match[1]); 
    

    ,能不能請你幫我一次?

    +0

    你能幫助我們嗎?你想要完成什麼? – Howard 2011-12-26 18:00:26

    +0

    @Howard - 用單詞if替換$ text中的單詞zda,但不用單詞「zda」(用引號引起來) – 2011-12-26 18:03:56

    回答

    3

    您可以使用例如利用負lookarounds下面的代碼來完成你想要什麼:

    $newtext = preg_replace('/(?<!")zda|zda(?!")/', 'if', $text) 
    

    它將取代的zda未用引號括起來兩側任何occurence(即U"Vzda"Wzda將被替換,因爲它不直接封閉到引號中)。

    +0

    非常感謝! – 2011-12-26 18:18:51

    +0

    「U」Vzda「Wda將被替換,因爲它不直接包含在引號中)」。有什麼方法不能取代這個詞? 它是一種翻譯,我不想在qoutation中取代所有的東西。希望你能理解我..謝謝 – 2011-12-26 18:23:58

    +0

    ''X「YzdaZ」'':現在是封閉還是不封閉?你需要指定更好的內容 – Howard 2011-12-26 18:27:59

    相關問題